2013-04-29 16 views
5

In primo luogo, hanno il jQuery istituito così la forma non presenta: http://jsfiddle.net/FztLS/1/Arresto commento presentazione se i campi non sono impostati

Solo che non presentare se sono impostati i campi. Mi stavo chiedendo se qualcuno sapeva cosa stava andando storto nella sceneggiatura.

Supponevo che lo return false; si applicasse solo se il campo era vuoto.

Inoltre, come si applica la classe a ogni campo vuoto, non solo al primo?

Infine, c'è un modo migliore per includere la convalida della radio box?

risposta

0

Aggiornare il else clausola:

else { 
    $('#respond input, #respond textarea').removeClass('form_error'); 
    $('#commentform').submit(); 
} 

Ecco il violino: http://jsfiddle.net/FztLS/5/

0

L'evento 'submit' può essere legato solo a un elemento del modulo, si sta tentando di associarlo a una sezione .

FYI, $("section#respond") è una cattiva pratica. Non dovresti mai avere più di un elemento con lo stesso id per pagina, tutti i tipi di cose andranno male. Questo è sufficiente: $("#respond").

+0

Sì, mi sono reso conto in seguito che l'avevo collegato all'elemento sbagliato -.- e c'è solo un '# risposta'. Aggiungo solo l'elemento per poterlo fare rapidamente riferimento in modalità dev. Ma grazie per avermelo ricordato! – Ahhhhhhhhhhhhhdfgbv

0

Il problema è qui:

if ($('input[name="rating"]:not(:checked)').val()) { 

Dato che questi sono i pulsanti di scelta ci sarà sempre essere quelli non controllati in modo da ottenere sempre un valore e quindi restituire false.

Prova a modificare:

if($('input[name="rating"]:checked').length === 0) { 

che significa "Se nessun pulsante di opzione è selezionata".

Problemi correlati