Я просмотрел много вопросов по этой же теме и ничего не нашел, поэтому вынужден сформулировать новый...
У меня есть такая форма:
var value=$.trim($(".form-control").val());
if(value.length>0)
{
$("#user-data-next-button").attr('disabled', true);
} else{
$("#user-data-next-button").attr('disabled', false);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form action="userdevdata.php" method="post">
<label>Email</label>
<input type="email" class="form-control" name="email"/>
<label>Full name</label>
<input type="text" class="form-control" name="name"/>
<label>Address</label>
<input type="text" class="form-control" name="address"/>
<label>Postal code</label>
<input type="number" class="form-control" name="cp"/>
<label>City</label>
<input type="text" class="form-control" name="city"/>
<label>Province</label>
<input type="text" class="form-control" name="province"/>
</form>
<button id="user-data-next-button" class="btn my-button" disabled="true" ><i class="glyphicon glyphicon-chevron-right"></i><i class="glyphicon glyphicon-chevron-right"></i></button>
Мне нужно, чтобы, пока все поля моей формы не заполнены, кнопка была деактивирована (отключена). Вместо этого, когда я заполняю все поля формы, кнопка должна быть активирована ( disabled="false"
), чтобы ее можно было щелкнуть.
var userdevdata = 6;
if($("#usermail").val().length > 0){ userdevdata = userdevdata-1;}
if($("#username").val().length > 0){ userdevdata = userdevdata-1;}
if($("#useraddress").val().length > 0){ userdevdata = userdevdata-1;}
if($("#usercp").val().length > 0){ userdevdata = userdevdata-1;}
if($("#usercity").val().length > 0){ userdevdata = userdevdata-1;}
if($("#userprovince").val().length > 0){ userdevdata = userdevdata-1;}
if(userdevdata == 0){
$('#user-data-next-button').attr('disabled', false);
} else {
$('#user-data-next-button').attr('disabled', true);
}
Я не очень хорошо разбираюсь в этом комментарии. Я сделал это, и это не работает для меня, я не знаю, правильно это или неправильно.
Спасибо.
Для этого вам нужно знать длину символов, которые есть в каждом из входных данных вашей формы.
Основываясь на вашем HTML , я включаю небольшой скрипт jQuery , который позволит вам сделать это:
Вы должны добавить идентификатор в форму или класс и изменить его в коде.
Грубо говоря, этот код ищет все поля ввода и проверяет, не больше ли их длины 0 (вы что-то набрали), и если все поля заполнены, то снимает с кнопки свойство disabled.
Я добавил ссылку на jsFiddle на случай, если вам нужно будет с ней повозиться.
Вы можете создать числовую переменную, равную количеству полей, которые у вас есть, всякий раз, когда поле не является пустым.
вы вычитаете единицу из числовой переменной и проверяете, равна ли она нулю. если он равен нулю, вы удаляете отключенный.
Самое прямое — попросить для каждого из полей узнать, были ли они заполнены, а если какое-то из них пусто, сохранить его в переменной и показывать кнопку или нет в зависимости от ее значения. ...
Форма добавляет идентификаторы
... с jquery для поля формы
или же
Если вы запросите класс, общий для всех полей, он примет значение только одного поля, а не всех.
Вы можете использовать событие
input
для проверки: