Проверка на наличие значений в форме
Всем привет, я делаю в jQuery проверку, у меня получилось, что если один из двух инпутов пустой, или они оба, то он удаляет весь див, в котором они находятся, а мне надо как то сделать, что бы, если один пустой а другой заполнин, то пустой подсветить допустим красным, и вывести, "введите данные", а вот если оба инпута пустые, то просто их удалить, что то у меня пока не получается сделать такую проверку, может кто то поможет, буду благодарен:thanks: )
|
Цитата:
|
Wahtel,
ещё бы минимальный html |
jQuery("form").submit(function() { jQuery(".LinkbuilderForWords").each(function(){ if (jQuery(this).val() == "") { jQuery(this).parent().remove(); } }) }); |
Вот моя форма
<form action="<?php echo $url;?>" id="wordpress-link-builder" method="post"> <div class="input_fields_wrap"> <?php if ($options) { $cssPrefix = 'festi-link-builder-'; $hideRemoveButton = (count($options['linkbuilder']) <= 1) ? $cssPrefix.'hide' : ''; foreach ($options['linkbuilder'] as $key => $ ?> <div class="container"> <input class="LinkbuilderForWords" type="text" name="linkbuilder[<?php echo $key; ?>][word]" value="<?php echo $item['word']?>" placeholder="enter keyword" /> <input class="LinkbuilderForLinks" type="text" name="linkbuilder[<?php echo $key; ?>][link]" value="<?php echo $item['link'];?>" placeholder="enter url" /> <a class="delete_div_button <?php $hideRemoveButton; ?>" name="<?php echo $key;?>" href="#">delete</a> </div> <?php } } ?> </div> <input type="submit" value="save"></br> <a class="add_field_button" href="#">Add More Fields</a></br> </form> |
Wahtel,
вроде html хотелось а не php тогда сами проверяйте jQuery("form").submit(function() { var words = jQuery(".LinkbuilderForWords:empty"); if (words.length == 2) words.parent().remove(); if (words.length == 1) words.css('background', 'rgb(255,220,200)'); if (!words.length) return true; return false }) |
Эта форма, это все что у меня есть из html.
Спасибо, я сейчас буду пробовать, но, я не совсем понял эту проверку if (words.length == 2) words.parent().remove(); if (words.length == 1) words.css('background', 'rgb(255,220,200)'); if (!words.length) return true; |
Wahtel,
а что непонятного 1 пустой его и подсвечиваем, если 2 пустых их удаляем |
Ну да, все логично, в таком случае, мне не совсем ясна эта строка
var words = jQuery(".LinkbuilderForWords:empty"); а точнее :empty, почитал немного про нее, в документации, но все равно не човсем понял) |
Я понял, ты в переменуую words, положил объект LinkbuilderForWords:empty, и присвоил ему значение empty, и проверяешь, сколько пустых инпутов, но у меня получается есть два инпута LinkbuilderForWords и LinkbuilderForLinks
тоесть мне лучше в переменную words, положить просто инпут? var words = jQuery("input:empty"); и так уже проверять, сколько инпутов пустых? Я вообще правильно понял твой скрипт?) |
Часовой пояс GMT +3, время: 05:48. |