jquery if siblings hasClass -


i have following jquery checks form on submission:

$('#register_button').click(function (e) {     var valid = true;     $('.controls input').each(function () {         if ($(this).siblings().hasclass('error')) {             valid = false;             alert('errors!');             e.preventdefault();             return false;         }     }); }); 

here html structure input:

<div class="controls">     <input type="text" name="register_postcode" id="register_postcode" value="<?=(isset($_request['register_postcode']) ? $_request['register_postcode'] : 'xxxxxx')?>" />                         <div class="info">&nbsp;</div>     <div class="valid" style="display:none;">&nbsp;</div>     <div class="error" style="display:none;">&nbsp;</div> </div>  

when submitting form , there errors alert shows.

but when submit form , there no errors, alert still shows , form isnt submitted.

any ideas?

from can see if input element valid, not removing element class error, hidden.

so change test being checking whether there sibling class error whether error visible

$('#register_button').click(function (e) {     var valid = true;     $('.controls input').each(function () {         if ($(this).siblings('.error:visible').length) {             valid = false;             alert('errors!');             e.preventdefault();             return false;         }     }); }); 

you can do

$('#register_button').click(function (e) {     if($('.controls .error:visible').length){         alert('errors!');         e.preventdefault();     } }); 

Comments

Popular posts from this blog

linux - xterm copying to CLIPBOARD using copy-selection causes automatic updating of CLIPBOARD upon mouse selection -

qt - Errors in generated MOC files for QT5 from cmake -