确定输入元素状态

时间:2011-09-07 16:30:57

标签: javascript jquery

我在确定输入字段的状态时遇到问题。我希望JS确定它是禁用还是启用,但我的代码总是返回'false'。我究竟做错了什么?感谢

   <input name="ctl00$ctl00$ctl00$ctl00$ContentPlaceHolderDefault$RobinBodyPlaceHolder   $LoggedInBodyPlaceHolder$AddEditUser1$EmailTextBox" type="text" value="email@mail.com"    id="ContentPlaceHolderDefault_RobinBodyPlaceHolder_LoggedInBodyPlaceHolder_AddEditUser1_EmailTextBox"    class="EmailTextBox" disabled="disabled"/>


function ConfirmEmailChange() {
    alert($('.EmailTextBox').disabled==true);
}

3 个答案:

答案 0 :(得分:0)

问题是没有标记jQuery,但是因为你似乎正在使用它,你可以这样做:

alert($('.EmailTextBox').is(':disabled'))

答案 1 :(得分:0)

<强> Live Demo

function ConfirmEmailChange() {
    alert($('.EmailTextBox').prop('disabled'));
}

只需将其更改为以这种方式检查已禁用的属性。您试图访问不是有效jQuery属性的.disabled

答案 2 :(得分:0)

您正在尝试访问jQuery对象的disabled属性(我假设它是jQuery,但它可能是使用$字符的其他JS库),但jQuery对象不要没有disabled属性。

如果是jQuery,您可以使用数组表示法访问jQuery对象中包含的实际DOM节点:

alert($('.EmailTextBox')[0].disabled);

或者,您可以使用get方法:

alert($('.EmailTextBox').get(0).disabled);

或者,正如其他人所示,您可以使用jQuery prop方法。请注意,我已删除了== true部分,因为disabled是一个布尔属性,无论如何都会返回truefalse