Проверка на наличие значений в форме
Всем привет, я делаю в 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, время: 12:25. |