2013-10-09 18 views
8

Ho un semplice modulo HTML5 che non ha <input type="submit"> perché il pulsante per inviare il modulo è esterno al modulo stesso. Nel modulo sono presenti diversi input con il set di propor required="required".jQuery invio funzione non chiama convalida html5

Il pulsante al di fuori della forma che sottoporrò ha il seguente codice allegato:

$('#upgrade_submit').click(function(){ 
    $('#cc-form-modal').submit(); 
    return false; 
}); 

Quando il pulsante viene premuto, non viene eseguito il normale validazione HTML5 sui campi richiesti. Che cosa sto facendo di sbagliato? C'è un modo per verificare se il modulo è valido prima di "forzare" l'invio?

+0

Correlato forse: http://stackoverflow.com/questions/11866910/how-to-force-a-html5-form-validation-without-submitting-it-via-javascript-jquery – Sergio

+1

@Sergio Questo è molto correlato . L'unico miglioramento che farei rispetto alla risposta accettata sarebbe se riuscissi a trovare una soluzione che non richiederebbe HTML5. – Icode4food

risposta

12

ho realizzato il mio obiettivo con l'aggiunta di un elemento di input nascosto presentare in questo modo:

<input type="submit" class="submit" style="display:none;"> 

Ho poi attache il seguente codice al mio gestore inviare esterno.

$('#upgrade_submit').click(function(){ 
    $('#cc-form-modal .submit').click(); 
    return false; 
}); 

Questo farà sì che la convalida di HTML5 per l'esecuzione, i messaggi di errore di default da visualizzare e tutto funziona bene!

+0

Pasticcio jQuery puro. Nessun altro metodo dal 2013? – cadavre

Problemi correlati