为了账号安全,请及时绑定邮箱和手机立即绑定

启用 JavaScript 时切换禁用属性的值

启用 JavaScript 时切换禁用属性的值

拉莫斯之舞 2024-01-11 10:43:53
我的网站上有一个输入标签,它使用 javascript 进行自动完成... <input>当我的用户没有在其系统上启用 javascript 时,我希望标签的禁用属性为 true。但是当启用 Javascript 时,我想要disabled=false. 我该怎么做呢?到目前为止我所做的:<input name="xyz" class="xyzautocomplete" type="text" id="name" value="enter name" disabled="true">将使用document.getElementById("name").disabled = false;在同一个<input>标签内,script=""这两种情况都适用?IE, <input name="xyz" script="document.getElementById("name").disabled = false;" class="xyzautocomplete" type="text" id="0" value="enter name" disabled="True">如果没有,我该怎么办?
查看完整描述

3 回答

?
胡子哥哥

TA贡献1825条经验 获得超6个赞

关于内联 JavaScript,其他答案是正确的。没有script属性,也onload没有为输入定义属性,因此您的脚本需要位于<script>输入后面的元素中。

然而,现有的答案都没有提到这是disabled一个布尔属性,也就是说,它的存在或不存在决定了输入是否被禁用。它的价值并不重要。

因此在 JavaScript 中将属性设置为值是行不通的。该属性仍然存在,只是具有不同的值!
您需要做的就是完全删除该属性。


document.getElementById("name").removeAttribute('disabled');
<input name="xyz" class="xyzautocomplete" type="text" id="name" value="enter name" disabled="true">



查看完整回答
反对 回复 2024-01-11
?
素胚勾勒不出你

TA贡献1827条经验 获得超9个赞

如果 javascript 被禁用,那么所有 javascript 语法都将不起作用。


你必须这样做Tag


请尝试以下解决方案 -


<script>

     <!--

        document.write('<input name="xyz" class="xyzautocomplete" type="text" id="0" value="enter name" >')

     -->

  </script>


  <noscript>

    <input name="xyz" class="xyzautocomplete" type="text" id="0" value="enter name" disabled >

  </noscript>


查看完整回答
反对 回复 2024-01-11
?
慕尼黑8549860

TA贡献1818条经验 获得超11个赞

将 JS 内联从来都不是好方法。将其放在 html 元素之后。此外,您的目标 id 为 xyz 且不存在。你的id是0


document.getElementById("0").disabled = false;
<input name="xyz"  class="xyzautocomplete"  disabled  type="text" id="0" value="enter name">

如您所见,输入被禁用,但 JS 使其启用。没有JS的人将无法使用输入。


查看完整回答
反对 回复 2024-01-11
  • 3 回答
  • 0 关注
  • 110 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信