JS запретить нажатие на кнопку

12
Станислав
На сайте с 27.12.2009
Offline
237
6949

Всем привет, подскажите как сделать следующее

Есть форма с select name="hit"

и кнопка type="submit"

в selecte есть первый option, который предлагает пользователю выбор.

<option disabled selected="selected" value="false">выбор</option>

нужно сделать так, чтобы если value=false, то кнопка не срабатывала.

Мы там, где рады нас видеть.
izbushka
На сайте с 08.06.2007
Offline
110
#1

Делаете форме onSubmit функцию с проверкой.

jQuery подойдет?

if($('select[name=hit]').val()=='false')) { return false; }
Станислав
На сайте с 27.12.2009
Offline
237
#2

if($('select[name=hit]').val()=='false') { return false; }

не робит 😒

или к disabled можно как то привязаться

izbushka
На сайте с 08.06.2007
Offline
110
#3

Работает, как это не работает )


<html>
<head>
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
</head>
<body>
<h1>Form</h1>
<form onSubmit="if($('select[name=hit]').val()=='false') { return false; }">
<select name=hit>
<option value=false>выбор
<option>1
<option>2
</select>
<input type=submit>
</form>
</body>
</html>
rbbumfirst
На сайте с 03.04.2009
Offline
87
#4
izbushka:
Работает, как это не работает )

<html>
<head>
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
</head>
<body>
<h1>Form</h1>
<form onSubmit="if($('select[name=hit]').val()=='false') { return false; }">
<select name=hit>
<option value=false>выбор
<option>1
<option>2
</select>
<input type=submit>
</form>
</body>
</html>

Может потому что $("select[name=hit] option:selected").val();

http://jsfiddle.net/Nwfkj/

Web developer (http://rudov.com). разработка на Go, ReactJS, React Native
[Удален]
#5

если на jquery то так можно

$('select[name=hit]').change(function() {

var myChoice = $('select[name=hit] :selected').val();

if (myChoice == false) {

$('select[value=false]').click(function(tt){

tt.preventDefault();

});

}

});

izbushka
На сайте с 08.06.2007
Offline
110
#6
rbbumfirst:
Может потому что $("select[name=hit] option:selected").val();

Это тоже самое, зачем усложнять

igor3333:
if($('select[name=hit]:selected'))

А это вообще работать не будет

igor3333:
$('select[name=hit]').change(function() {
var myChoice = $('select[name=hit] :selected').val();
if (myChoice == false) {
$('select[value=false]').click(function(tt){
tt.preventDefault();
});
}
}); __________________

Полстраницы текста вместо одной строки ради чего?

Станислав
На сайте с 27.12.2009
Offline
237
#7

да, заработало, спс =)

[Удален]
#8
izbushka:
Это тоже самое, зачем усложнять

А это вообще работать не будет

спс исправил

rbbumfirst
На сайте с 03.04.2009
Offline
87
#9
izbushka:
Это тоже самое, зачем усложнять

Прежде чем советовать я всегда проверяю "а работает ли?"

Твой вариант:

http://jsfiddle.net/Nwfkj/1/

Мой вариант:

http://jsfiddle.net/Nwfkj/

[Удален]
#10
izbushka:


Полстраницы текста вместо одной строки ради чего?

Это вариант на jquery

и можно убрать функцию change (добавил так правильнее)

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий