• Registrati
Benvenuto su codeinvaders.net la community italiana dedicata agli sviluppatori!
Puoi partecipare alle discussioni anche attraverso facebook, twitter e google+.
JS Day
  • google plus
  • facebook
  • twitter
Codeinvaders.net, domande e risposte per sviluppatori!
Partecipa a questa community rispettando tutti i suoi membri che, per il puro piacere di condividere, forniscono risposte e suggerimenti.
Classifica migliori utenti del mese 06/2017
  1. 4240 Punti

  2. 3980 Punti

  3. 3480 Punti

  4. Luca Rainone

    2400 Punti

I premi del mese
Posizione 1: Buono Amazon da 10 euro
Posizione 2: Sconto 40% su un libro O'Reilly

Evento submit e form dinamica

Ho una form HTML che viene ricaricata dinamicamente via AJAX, possible che in questo scenario il listener per l'evento submit vada perso? Quale puo' essere una soluzione elegante al problema?

quesito posto 28 Gennaio 2013 da riamedia (510 punti)
   

1 Risposta

+1 voto
 
Risposta migliore

Se intendi "ricaricato dinamicamente" come una form che sovrascrivi, e se l'evento lo associ dinamicamente con un document.getElementByid("idForm").onsubmit = function( ){};
Sì è assolutamente normale.

Una soluzione elegante è quella di associare il submit dell'evento al document e filtrare il form. In questo modo

// non è crossbrowser il metodo, ma è a titolo di esempio
document.addEventListener('submit', function(e) {
    if(e.target.id=="myForm") {
        e.preventDefault(); // serve a interrompere il submit del form
        // handler here
        //...
        // quando e se vorrai fare il submit del form:
        e.target.submit();
    }
});

Se invece usi jQuery è ancora più facile

$(document).on('submit','#myForm', function(e) {
     // handler here
});
risposta inviata 28 Gennaio 2013 da Luca Rainone (2,400 punti)
Selezionata 4 Febbraio 2013 da riamedia
Grazie mille della risposta!
Non è sufficiente? o ho inteso male la domanda?

Ha commentato e votato, credo vada piu' che bene...

smiley

Dal commento sembrava non fosse convinto... una mia percezione consolidata dal fatto che non l'ha segnata come accettata. Volevo esserne sicuro, tutto qui :-)
Accettata, scusami per non averlo fatto subito...
Puoi partecipare alle discussioni anche attraverso facebook e twitter.
...