Как отключить элементы формы с помощью jquery
У меня есть несколько элементов формы на странице, и у меня есть следующая кнопка для каждой формы. Я заполняю форму и нажимаю кнопку "Далее", чтобы перейти к следующей форме. Я хочу, чтобы после заполнения формы, когда пользователь нажимает следующую кнопку, он должен отключить все элементы предыдущих элементов.
Что я пробовал:
Я назначил уникальный id
для всех форм и попытался следовать
$('form #firstFrm').find('input').attr('disabled','disabled');
Но это ничего не сделало.
$("#firstFrm> input").attr("disabled", true);
но не эффект.
$("#firstFrm :input").attr("disabled", true);
для этого вместо отключения элементов под form
с id
firstFrm это отключить элементы всех форм.
как отключить элементы только определенной формы.
HTML-код
<form action="" method="post">
<fieldset class="sectionwrap">
<legend style="padding-right: 425px;">User Details</legend>
<fieldset class="column" style= "width: 500px;margin-top: 10px;">
<div id="firstFrm">
<table style="padding-right: 20px; float: left">
<tr>
<td id="targetTD">
Username : <input id="email" type="email" name="email"/>
</td>
</tr>
<tr>
<td>
Password : <input id="password" name="password" type="password" class="text" />
</td>
</tr>
<tr>
<td>
password : <input id="confirmPassword" name="confirmPassword" type="password" class="text" />
</td>
</tr>
</table>
</div>
</fieldset>
</fieldset>
</form>
Решение
я создал div
под form
и положить все элементы в этом div
и вместо отключения элементов под form
Я отключил элементы под div
, Это работало нормально.
3 ответа
Попробуйте с этим:
$( '#firstFrm input' ).attr ( 'disabled', true );
Это будет немного длиннее, но вы можете попробовать, как только пользователь перейдет к следующему типу ввода, вы можете отключить вышеуказанный элемент, используя его идентификатор, т.е.
{ $( '#input' ).attr ( 'disabled', true ); }
$('form #firstFrm')
будет искать форму с id="firstForm"
который внутри другого <form>
элемент
<form>
<div>
<form id="firstForm"></form>
</div>
</form>
$("#firstFrm > input")
получит только прямой <input/>
дети формы
<form>
<input /> // this is matched
<div>
<input/> // this is not matched
</div>
</form>
Чтобы получить все входные данные, попробуйте это:
$("input", $("#formId")).attr("disabled", true)
или же
$("#formId input").attr("disabled", true)