Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Проверка на наличие значений в форме (https://javascript.ru/forum/jquery/51916-proverka-na-nalichie-znachenijj-v-forme.html)

Wahtel 25.11.2014 13:05

Проверка на наличие значений в форме
 
Всем привет, я делаю в jQuery проверку, у меня получилось, что если один из двух инпутов пустой, или они оба, то он удаляет весь див, в котором они находятся, а мне надо как то сделать, что бы, если один пустой а другой заполнин, то пустой подсветить допустим красным, и вывести, "введите данные", а вот если оба инпута пустые, то просто их удалить, что то у меня пока не получается сделать такую проверку, может кто то поможет, буду благодарен:thanks: )

ksa 25.11.2014 13:11

Цитата:

Сообщение от Wahtel
может кто то поможет

Где твой тестовый пример?

рони 25.11.2014 13:19

Wahtel,
ещё бы минимальный html

Wahtel 25.11.2014 13:20

jQuery("form").submit(function() {
       jQuery(".LinkbuilderForWords").each(function(){
       		if (jQuery(this).val() == "") {
       				jQuery(this).parent().remove();
       		}

       })
	});

Wahtel 25.11.2014 13:21

Вот моя форма
<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>

рони 25.11.2014 13:31

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
	})

Wahtel 25.11.2014 13:39

Эта форма, это все что у меня есть из 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

Wahtel,
а что непонятного 1 пустой его и подсвечиваем, если 2 пустых их удаляем

Wahtel 25.11.2014 14:49

Ну да, все логично, в таком случае, мне не совсем ясна эта строка
var words = jQuery(".LinkbuilderForWords:empty");


а точнее :empty, почитал немного про нее, в документации, но все равно не човсем понял)

Wahtel 25.11.2014 14:57

Я понял, ты в переменуую words, положил объект LinkbuilderForWords:empty, и присвоил ему значение empty, и проверяешь, сколько пустых инпутов, но у меня получается есть два инпута LinkbuilderForWords и LinkbuilderForLinks
тоесть мне лучше в переменную words, положить просто инпут?
var words = jQuery("input:empty");

и так уже проверять, сколько инпутов пустых?
Я вообще правильно понял твой скрипт?)


Часовой пояс GMT +3, время: 05:48.