setAttribute和removeAttribute不适用于chrome,而firefox仅适用于IE。
下面的代码在IE中工作正常,不适用于任何其他探索者
<head>
<script type="text/javascript">
function showUser2()
{
buttonpassvalue1.setAttribute("disabled","disabled");
buttonpassvalue.removeAttribute("disabled");
}
</script>
</head>
<button class="button" type="button" name="buttonpassvalue1" value="1" onclick="showUser2(this.value)">This will Disbale</button>
<button class="button" type="button" name="buttonpassvalue" value="-1" onclick="showUser2(this.value)">Press This</button>
当到达上面的代码时终止
感谢您的帮助
答案 0 :(得分:0)
解释为什么您的代码在其他浏览器中不起作用有点复杂。它与“禁用”属性的处理方式有关,因为有不同类型的内部节点和容器。
但是,这并不妨碍您实现目标:
if(val123 > gotnumber){
buttonpassvalue1.disabled='disabled';
buttonpassvalue.disabled='';
} else{
buttonpassvalue.disabled='disabled';
buttonpassvalue1.disabled='';
}
复选框中的“checked”属性和输入字段中的“readonly”以相同的方式工作。
编辑:
您必须提供元素ID,以便正确抓取它们:
var buttonpassvalue=document.getElementById('buttonpassvalue');
var buttonpassvalue2=document.getElementById('buttonpassvalue2');
再次编辑,使用格式化和更正的代码禁用第一个按钮:
<head>
<script type="text/javascript">
function showUser2(v){
var buttonpassvalue1=document.getElementById('buttonpassvalue1');
var buttonpassvalue2=document.getElementById('buttonpassvalue1');
buttonpassvalue1.disabled='disabled';
buttonpassvalue.removeAttribute("disabled");
}
</script>
</head>
<button id="buttonpassvalue1" class="button" type="button" name="buttonpassvalue1" value="1" onclick="showUser2(this.value);">This will Disbale</button>
<button id="buttonpassvalue" class="button" type="button" name="buttonpassvalue" value="-1" onclick="showUser2(this.value)">Press This</button>
答案 1 :(得分:0)
在符合W3C DOM规范的浏览器中,禁用属性设置元素是否被禁用默认情况下,它不会设置其当前状态。 IE不遵循该模型,并且设置禁用属性也设置当前状态。
禁用 DOM属性应该用于设置元素的当前状态:
buttonpassvalue1.disabled = true; // disabled
buttonpassvalue.disabled = false; // not disabled
浏览器之间在HTML属性和DOM属性的实现方式上存在很多差异。简单的解决方法是尝试始终使用属性,并仅使用明确要求的属性(很少)。
此外,您使用元素名称作为全局变量。这是一个坏主意,并且是多年前的宿醉(虽然所有浏览器都在某种程度上支持它,但是不要这样做)。请考虑一下:
<script>
function disableElement(el) {
el.disabled = true;
}
function enableElement(el) {
el.disabled = false;
}
</script>
<form>
<input type="text" name="i0"><br>
<button onclick="disableElement(this.form.i0)">Disable the input</button>
<button onclick="enableElement(this.form.i0)">Enable the input</button>
</form>