0

我在一个页面上有多个表单元素,每个表单都有一个下一步按钮。我填写了一个表格,然后单击下一个按钮滚动到下一个表格。我希望在用户单击下一步按钮时填写表单后,它应该禁用先前元素的所有元素。

我尝试了什么:
我为所有表单分配了唯一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。这工作得很好。

4

3 回答 3

0

这会有点冗长,但是您可以在用户进入下一个输入类型后立即尝试,您可以使用其 id 禁用上述元素,即

{ $( '#input' ).attr ( 'disabled', true ); }
于 2012-12-13T07:12:53.197 回答
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)
于 2012-12-13T07:22:57.607 回答
0

试试这个:

$( '#firstFrm input' ).attr ( 'disabled', true );
于 2012-12-13T07:07:53.243 回答