[英]toggle value of disabled attribute when JavaScript enabled
我的网站上有一个输入标签,它使用 javascript 进行自动完成...当我的用户没有在他们的系统上启用 javascript 时,我希望<input>
标签的禁用属性为真。 但是当 Javascript 启用时,我想要disabled=false
的值。 我该怎么做呢?
到目前为止我所做的:
<input name="xyz" class="xyzautocomplete" type="text" id="name" value="enter name" disabled="true">
将使用
document.getElementById("name").disabled = false;
在与script=""
相同的<input>
标记内适用于这两种情况?
IE,
<input name="xyz" script="document.getElementById("name").disabled = false;" class="xyzautocomplete" type="text" id="0" value="enter name" disabled="True">
如果不是,我该怎么做?
如果 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>
关于内联 JavaScript,其他答案是正确的。 没有script
属性,并且没有为输入定义onload
,因此您的脚本需要位于输入之后的<script>
元素中。
但是,现有答案都没有提到disabled
是一个boolean属性,也就是说,它的存在与否决定了输入是否被禁用。 它的价值无关紧要。
因此将属性设置为 JavaScript 中的值不起作用。 该属性仍然存在,只是具有不同的值!
您需要做的是完全删除该属性。
document.getElementById("name").removeAttribute('disabled');
<input name="xyz" class="xyzautocomplete" type="text" id="name" value="enter name" disabled="true">
将 JS 内联从来都不是好方法。 将其放在 html 元素之后。 此外,您的目标 xyz 的 id 不存在。 你的id是0。
document.getElementById("0").disabled = false;
<input name="xyz" class="xyzautocomplete" disabled type="text" id="0" value="enter name">
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.