Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Запрет выбора option value="бронь" если в input value="0000-00-00" (https://javascript.ru/forum/jquery/64862-zapret-vybora-option-value%3D-bron-esli-v-input-value%3D-0000-00-00-a.html)

ufaclub 09.09.2016 20:21

а что не так со значениями то? Это система для продажи квартир. Клиенту так удобно. Да и ошибок вроде нет. Все строится как надо.

:)


jQuery('select[name = status]').change(function() {
	


	var v = jQuery.trim(jQuery('input[name = brondo]').val());
	
	
        if(this.value=="бронь" && !v || v=="0000-00-00")
		alert('Обязательно введите конечную дату бронирование!')
	  

		
    })


вот так все работает как надо

а вот если добавляю строчку




jQuery('select[name = status]').change(function() {
	


	var v = jQuery.trim(jQuery('input[name = brondo]').val());
	
	
        if(this.value=="бронь" && !v || v=="0000-00-00")
		alert('Обязательно введите конечную дату бронирование!')
	  
this.options[0].selected = 1; 


		
    })


то при любом выбранном статусе стоит первый элемент списка.

хотя с одним val все работало...

ufaclub 09.09.2016 20:27

все разобрался. в {} нужно было все обернуть

laimas 09.09.2016 20:43

Цитата:

Сообщение от ufaclub
Это система для продажи квартир.

Да хоть пряников. :)

Если определены значения "свободна", "вторичная продажа" и т.д., то сервер должен карячится проверяя такой винегрет из значений при получении формы. Ладно бы формы присылали только законопослушные, но ведь есть еще и целенаправленные атаки на сервер, да и любители просто мусорить левыми формами.

Влезайте в SQL и изучайте типы данных. Для данных описанных в списке существует тип ENUM. Хотя ENUM в данном случае будет представлен списком "свободна", "вторичная продажа" и т.д., во внутреннем представлении это будут числа - 1, 2, 3 и т.д. То есть построение списка по этим значениям будет результат:

<select name="status">
    <option value="1">cвободна </option>
    <option value="2">вторичная продажа </option>
    <option value="3">бронь </option>
    <option value="4">золотая бронь</option>
</select>


В базу при записи будут передаваться числа, которые гораздо легче проверять принимая данные. При выводе же на страницу будут выводиться их текстовые значения.

Нельзя подходить к данным при проектировании базы данных про принципу, что чукча видит, то и поет.


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