PROBLEMA Jquery mobile e più form ajax

Pubblicità

botolo

Utente Attivo
Messaggi
8
Reazioni
0
Punteggio
24
Buona sera a tutti, sto sviluppando un mini applicativo per la registrazione delle presenze a un ciclo di conferenze.
Utilizzando jquery mobile e php stampo una tabella contenente per ogni riga il nome del partecipante e il form con i dati da inviare e relativo pulsante submit per effettuare la registrazione.

Per l'invio del form utilizzo uno script ajax, però mi sono accorto che questo non funziona, o meglio non funziona fintanto che non aggiorno due volte la pagina, come se la prima volta non venisse letto lo script ma la seconda si.
La prima volta che invio il form mi apre una pagina bianca, quando aggiorno invece funziona correttamente e mi mostra il popup.

Vi posto il php che crea le righe della tabella e lo script ajax.

PHP:
echo "<tr><td>".$nome." ".$cognome." </td><td>".$squadra."</td> 
<form class='registra' name='registra'> 
<input type='hidden' id='codice' name='codice' value='".$codice."'> 
<input data-theme='c' name='submit' class='submit' type='submit' value='Registra'> 
</form>  </td></tr>\n";

Codice:
[/FONT][/COLOR][COLOR=#4D4D4D]<script>[/COLOR]
        function onSuccess(data, status)
        {
            data = $.trim(data);
            $("#notification").text(data);
            $( "#popup" ).popup( "open" )
            navigator.vibrate(200);
        }
  
        function onError(data, status)
        {
            // handle an error
        }        
  
        $(document).ready(function() {
            $(".registra").submit(function(){
  
                
  
                $.ajax({
                    type: "GET",
                    url: "registra.php",
                    cache: false,
                    data: $(this).serialize(),
                    success: onSuccess,
                    error: onError
                });
  
                return false;
            });
        }); [COLOR=#4D4D4D]    </script>[/COLOR][COLOR=#4D4D4D][FONT=Verdana]

Qualcuno mi può illuminare su dove può essere il problema?

GRAZIE!
 
Nella console javascript ricevi degli errori?

Ricordati sempre di inserire il preventDefault() quindi:

Codice:
    $(document).ready(function(e) {
            $(".registra").on('submit',(function(e) {
             e.preventDefault();
                
  
                $.ajax({
                    type: "GET",
                    url: "registra.php",
                    cache: false,
                    data: $(this).serialize(),
                    success:function(data){
                    //successo

                      },
                     error: function(data){
                             //errore
                    }

                });
  
                return false;
            }));
        });

Potresti postare anche il file registra.php?
 
Ultima modifica:
Pubblicità
Pubblicità
Indietro
Top