Domanda

Sto avendo un piccolo problema con jQuery: Sto avendo .submit() definita in un modulo, quando presento il modulo facendo clic sul pulsante di invio, i trigger e anche le cose funziona senza problemi, tuttavia, quando uso document.forms[0].submit(), l'evento non ottiene attivato, ma la forma sottopone !! C'è qualche motivo per cui? Come posso superare questo?

È stato utile?

Soluzione

Questo è solo il modo in cui funziona -. Chiamando il .submit() nativo non attiva il gestore di eventi JavaScript

Utilizza il .submit() jQuery invece:

$('form:first').submit();

Altri suggerimenti

Se il modulo presentare si chiama come questo

<form method="POST" id="the_waffle_form">

Poi si può presentarlo in questo modo.

$("#the_waffle_form").submit();

Guarda le href="http://docs.jquery.com/Events/submit" per grandi esempi più.

Ci sono alcuni di noi qui fuori che sono costretti a usare il codice da sistemi legacy. Questi sistemi sono non conformi, e nel mio caso in attesa di essere aggiornato. Ma quando diverse migliaia di persone stanno usando il sistema, è solo non è possibile entrare e modificare il codice per i pacchetti di base. Così, siamo costretti a trovare soluzioni alternative. Nel mio caso, le forme non hanno gli ID o nomi, in modo da utilizzare document.forms[0].submit() è una delle uniche opzioni.

Questo può sembrare strano, ma perché ti anche utilizzare document.forms[0].submit() quando si utilizza già jQuery.

semplice (forse stupido?) Suggerimento: non utilizzare l'uso document.forms[0].submit() questo posto

$("#hereidofyourform").submit()
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top