我在页面上有多个表单元素,每个表单都有一个下一个按钮。我填写表格并点击下一步按钮滚动到下一个表格。我希望在用户点击下一个按钮后填写表单后,它应该禁用以前元素的所有元素。
我尝试了什么:
我为所有表单分配了唯一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
下禁用元素的元素{{1}}。这很好。
答案 0 :(得分:0)
试试这个:
$( '#firstFrm input' ).attr ( 'disabled', true );
答案 1 :(得分:0)
这可能有点长,但你可以尝试一下,一旦用户转到下一个输入类型你可以使用它的id禁用上面的元素,即
{ $( '#input' ).attr ( 'disabled', true ); }
答案 2 :(得分:0)
$('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)