Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Undisable кнопки, если все поля заполнены (https://javascript.ru/forum/misc/31231-undisable-knopki-esli-vse-polya-zapolneny.html)

skvsk 30.08.2012 21:04

Undisable кнопки, если все поля заполнены
 
Привет. Вот мучаюсь со скриптиком, все ок, но понадобилось проверять еще поставлена ли галочка на чекбоксе:
<form action="#" id="buy">
		<input type="text" name="email" placeholder="@" class="email-input"  id="tx_1"  onkeyup="check();" onkeypress="check();" onchange="check();"/>
		<input type="checkbox" name="agree" id="tx_2" /> я согласен с <a href="#" rel="popuprel" class="popup">условиями сервиса</a>
		<button type="submit" form="buy" id="btn" class="button-siabled" disabled="disabled">Купить</button>
								<script type="text/javascript"> 
								<!-- 
								function check() 
								{ 
									var tx_1 = document.getElementById('tx_1'); 
									var tx_2 = document.getElementById('tx_2'); 
									var btn = document.getElementById('btn'); 
									tx_1.value != '' && tx_2.checked = true ? btn.disabled = false : btn.disabled = true;  
								  } 
								//--> 
								</script>				
		</form>


Если убрать
&& tx_2.checked = true
, кнопка становится активной, но как мне сделать, чтобы и поле емейл было заполнено и чекбокс поставлен обязатольно. При выполнении этих двух условий, чтобы кнопка становилось активной?

Заранее спасибо.

Aetae 30.08.2012 21:20

Не =, а ==.

bes 30.08.2012 21:27

и ещё один обработчик добавить
<form action="#" id="buy">
		<input type="text" name="email" placeholder="@" class="email-input"  id="tx_1"  onkeyup="check();"/>
		<input type="checkbox" name="agree" id="tx_2" onclick="check()"/> я согласен с <a href="#" rel="popuprel" class="popup">условиями сервиса</a>
		<button type="submit" form="buy" id="btn" class="button-siabled" disabled="disabled">Купить</button>
								<script type="text/javascript"> 
								<!-- 
								function check() 
								{ 
									var tx_1 = document.getElementById('tx_1'); 
									var tx_2 = document.getElementById('tx_2'); 
									var btn = document.getElementById('btn'); 
									tx_1.value != '' && tx_2.checked == true ? btn.disabled = false : btn.disabled = true;  
								  } 
								//--> 
								</script>				
		</form>

PS: и лучше использовать setAttribute


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