Активация кнопки отправления при заполнении текстового поля
Ребята, я новичок в jquery и мне нужна ваша помощь. Задача передо мной стоит такая: есть текстовое поле и кнопка, по умолчанию неактивная, но видимая. Как только пользователь начинает заполнять это поле (т.е. оно становится не пустым), кнопка активируется и при нажатии данные отправляются на сервер. С помощью каких селекторов это можно организовать?
|
Ну можно к примеру при событии "onkeyup" выполнять функцию которая будет проверять содержимое и менять кнопку.
То есть как то так:
<html>
<head>
<script language="JavaScript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.0/jquery.min.js"></script>
<script>
function check() {
if ($('#input').val() != '')
$('#button').removeAttr('disabled');
else
$('#button').attr('disabled','disable');
}
</script>
</head>
<body>
<form>
<input type="text" onkeyup="check();" id="input" /><br />
<input type="submit" id="button" disabled="disabled"/>
</form>
</body>
</html>
|
Спасибо! То что мне нужно!
|
Как я давно искал ответ на этот вопрос. Спасибо огромное :thanks:
Но есть загвоздка. Мне нужно чтобы в форме из нескольких полей, кнопка активировалась при заполнении всех полей. А у меня этот скриптик работает только если в форме одно поле <input>, если же их больше, то кнопка активируется при заполнении только первого поля, а не всех. Как решить эту проблему? |
<input type="text" onkeyup="send.disabled = this.value ? false : 'disabled';" id="input" /><br /> <input type="submit" id="send" disabled="disabled"/>
<form>
<input type="text" onkeyup="check();" id="input1" /><br />
<input type="text" onkeyup="check();" id="input2" /><br />
<input type="text" onkeyup="check();" id="input3" /><br />
<input type="submit" id="send" disabled="disabled"/>
</form>
<script>
function check() {
var inp1 = document.getElementById('input1'),
inp2 = document.getElementById('input2'),
inp3 = document.getElementById('input3');
document.getElementById('send').disabled = inp1.value && inp2.value && inp3.value ? false : "disabled";
}
</script>
|
Круто, всё работает! Но опять мне всё не так как надо :blink: простите...
Этот код работает только на определённое количество полей input или только 3 или только 6. Если в коде указанно 3 поля, а в моей форме поля 2 - то ничего работать не будет. Дело в том, что на моём сайте много форм и они все с разным количеством полей input Есть такое решение? |
<form>
<input type="text" onkeyup="check();" id="input1" /><br />
<input type="text" onkeyup="check();" id="input2" /><br />
<input type="submit" id="send" disabled="disabled" value="Отправить"/>
</form>
<script>
function check() {
var inp1 = document.getElementById('input1'),
inp2 = document.getElementById('input2');
document.getElementById('send').disabled = inp1.value && inp2.value ? false : "disabled";
}
</script>
для проверки форм и их значений используются скрипты валиидации. По гуглите их много и с разными возможностями. Текст, маил, телефон, цифры и т. д. |
Спасибо! Мне кто-то советовал уже ))
И спасибо Вам огромное! Правда валидатор с неактивной кнопкой найти очень сложно. Куча навороченных много, а просто проверку полей (пустое - непустое) - пока не могу вообще найти. |
Ребята. Помогите мне) код работает но у меня список select .
и не могу переделать под выпадающий список
<tr>
<td>Отвественное ИП</td><td><input class="form-control mr-sm-2 ml-3" type="search" placeholder="ФИО директора" aria-label="Search" id="tip">
<select id="" class="form-control mr-sm-2 ml-3" onkeyup="check();">
<option>ИП</option>
<option>OOO</option></td><td><input class="form-control mr-sm-2 ml-3" type="search" placeholder="Название ИП" aria-label="Search"></td>
</tr>
<tr>
<td>Директор</td><td><input type="text" id="dir" class="form-control mr-sm-2 ml-3" placeholder="Disabled input" disabled="disabled"></td>
|
<select id="inp" class="form-control mr-sm-2 ml-3" oninput="alert(`oniput нужен ${inp.value}`) ">
<option value="1">ИП</option>
<option value="2">OOO</option
</select>
:) |
| Часовой пояс GMT +3, время: 22:07. |