确定输入元素状态

determine input element status

本文关键字:状态 元素 输入      更新时间:2023-09-26

我在确定输入字段的状态时遇到问题。我希望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);
}

你试图访问一个jQuery对象的disabled属性(我假设它是jQuery,但它可能是其他一些JS库使用$字符),但jQuery对象没有disabled属性。

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

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

您也可以使用get方法:

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

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

问题没有标记为jQuery,但由于您似乎正在使用它,您可以这样做:

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

现场演示

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

只需更改它以检查disabled属性。您试图访问.disabled,这不是一个有效的jQuery属性。