25.11.2014, 13:05
|
Аспирант
|
|
Регистрация: 21.11.2014
Сообщений: 35
|
|
Проверка на наличие значений в форме
Всем привет, я делаю в jQuery проверку, у меня получилось, что если один из двух инпутов пустой, или они оба, то он удаляет весь див, в котором они находятся, а мне надо как то сделать, что бы, если один пустой а другой заполнин, то пустой подсветить допустим красным, и вывести, "введите данные", а вот если оба инпута пустые, то просто их удалить, что то у меня пока не получается сделать такую проверку, может кто то поможет, буду благодарен )
|
|
25.11.2014, 13:11
|
|
CacheVar
|
|
Регистрация: 19.08.2010
Сообщений: 14,228
|
|
Сообщение от Wahtel
|
может кто то поможет
|
Где твой тестовый пример?
|
|
25.11.2014, 13:19
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,126
|
|
Wahtel,
ещё бы минимальный html
|
|
25.11.2014, 13:20
|
Аспирант
|
|
Регистрация: 21.11.2014
Сообщений: 35
|
|
jQuery("form").submit(function() {
jQuery(".LinkbuilderForWords").each(function(){
if (jQuery(this).val() == "") {
jQuery(this).parent().remove();
}
})
});
|
|
25.11.2014, 13:21
|
Аспирант
|
|
Регистрация: 21.11.2014
Сообщений: 35
|
|
Вот моя форма
<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, 25.11.2014 в 13:23.
|
|
25.11.2014, 13:31
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,126
|
|
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
})
|
|
25.11.2014, 13:39
|
Аспирант
|
|
Регистрация: 21.11.2014
Сообщений: 35
|
|
Эта форма, это все что у меня есть из html.
Спасибо, я сейчас буду пробовать, но, я не совсем понял эту проверку
if (words.length == 2) words.parent().remove();
if (words.length == 1) words.css('background', 'rgb(255,220,200)');
if (!words.length) return true;
|
|
25.11.2014, 14:37
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,126
|
|
Wahtel,
а что непонятного 1 пустой его и подсвечиваем, если 2 пустых их удаляем
|
|
25.11.2014, 14:49
|
Аспирант
|
|
Регистрация: 21.11.2014
Сообщений: 35
|
|
Ну да, все логично, в таком случае, мне не совсем ясна эта строка
var words = jQuery(".LinkbuilderForWords:empty");
а точнее :empty, почитал немного про нее, в документации, но все равно не човсем понял)
|
|
25.11.2014, 14:57
|
Аспирант
|
|
Регистрация: 21.11.2014
Сообщений: 35
|
|
Я понял, ты в переменуую words, положил объект LinkbuilderForWords:empty, и присвоил ему значение empty, и проверяешь, сколько пустых инпутов, но у меня получается есть два инпута LinkbuilderForWords и LinkbuilderForLinks
тоесть мне лучше в переменную words, положить просто инпут?
var words = jQuery("input:empty");
и так уже проверять, сколько инпутов пустых?
Я вообще правильно понял твой скрипт?)
|
|
|
|