Visualizzazione dei risultati da 1 a 9 su 9

Discussione: form method POST

  1. #1
    Utente di HTML.it L'avatar di Laiton
    Registrato dal
    Dec 2011
    Messaggi
    95

    form method POST

    Ogni qual volta che clicco su un form (vedi_parco) deve eseguire la funzione "submit_prova()" inserendo un input hidden che deve essere trasmesso con metodo post ad un'altra pagina.
    javascript
    function submit_prova(id)
    {
    hidden = document.createElement("input");
    hidden.type = "hidden";
    hidden.name = "id";
    hidden.value = id;

    document.vedi_parco.appendChild(hidden);
    document.vedi_parco.action = "visita.php";
    document.vedi_parco.method = "POST";
    document.vedi_parco.submit();
    }
    php
    echo '<form name="vedi_parco" action="" method="POST">';
    for($i=0; $i<10; $i++)
    echo ''.scelta[$i].'
    ';
    echo '</form>';
    dove sbaglio?

    PS: ricordo che voglio inviare in modo nascosto una variabile. Per fare questo devo forzatamente creare un input hidden (quello che ho fatto nella funzione javascript).

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,131
    ma perché non non aggiungi il campo nascosto direttamente nel form con php cosi:
    codice:
    echo '<form name="vedi_parco" action="" method="POST">';
    for($i=0; $i<10; $i++)
    echo '<input type="hidden" name="id" value="'.$i.'"/>'.scelta[$i].'
    ';
    echo '</form>';
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    comunque l' href di quel link potrebbe essere eseguito prima di riuscire ad inviare il form
    verifica (tab network) con la console di chrome che l' invio avvenga

  4. #4
    Utente di HTML.it L'avatar di Laiton
    Registrato dal
    Dec 2011
    Messaggi
    95
    Originariamente inviato da cavicchiandrea
    ma perché non non aggiungi il campo nascosto direttamente nel form con php cosi:
    codice:
    echo '<form name="vedi_parco" action="" method="POST">';
    for($i=0; $i<10; $i++)
    echo '<input type="hidden" name="id" value="'.$i.'"/>'.scelta[$i].'
    ';
    echo '</form>';
    non penso mi convenga tanto, perchè dovrei utilizzare la stessa struttura per altre situazioni più scomode.

    Originariamente inviato da Xinod
    comunque l' href di quel link potrebbe essere eseguito prima di riuscire ad inviare il form
    verifica (tab network) con la console di chrome che l' invio avvenga
    non so proprio cosa stai dicendo.

  5. #5
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    allora semplicemente aggiungi
    ;return false
    dopo
    submit_prova('.$i.')

  6. #6
    Utente di HTML.it L'avatar di Laiton
    Registrato dal
    Dec 2011
    Messaggi
    95
    con il ";return false" funziona.
    Mi spieghi la magia?

  7. #7
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    un click su un link prima o poi eseguira' quanto presente in href
    magari il submit del form riesce anche a partire, ma immediatamente dopo subentra il link che cambia pagina quindi ti ritrovi nella pagina di destinazione (che per puro caso e' la stessa dell' action del form) senza aver inviato nulla
    quel return false blocca l' esecuzione di quanto presente in href
    ciao

  8. #8
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    in chrome ctrl+shift+j apre la console, qui hai strumenti fondamentali per il debug, tra cui la tab "network" che elenca tutto quello che viene richiamato e come
    li' avresti potuto vedere che il documento non veniva richiamato come action del form ma come normale link

    ciao

  9. #9
    Utente di HTML.it L'avatar di Laiton
    Registrato dal
    Dec 2011
    Messaggi
    95
    Grazie

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.