2016-11-26 38 views
0
<input type = "text" id = "Height"> 
<button type = "button" id = "Work!" disabled = "true"> Work! </button> 
<script> 
var Height = document.getElementById("Height"); 
var Button = document.getElementById("Work!"); 

Height.addEventListener("input",function() { 
if(Height.value!= "") { 
Button.disabled = false; 
} else { 
Button.disabled = false; 
} 
}); 

我不明白为什么当用户在输入字段中输入一个值时从未启用该按钮。我花了2+小时尝试每种可能的组合。我的盐水平现在不在屋顶,任何帮助将不胜感激。如何使用javascript dom事件--- addEventListener

+2

因为您在'if'的两个分支中都将'Button.disabled'设置为'false'? – 2016-11-26 03:58:14

+1

这和其中一个,你有一个大写的D'禁用'D –

+1

您使用哪个浏览器?它在Chrome中工作正常(在我将'Button.Disabled'更改为'Button.disabled' - 带有小'd'后) –

回答

1

当用户在输入字段中输入一个值时,该按钮被启用。

<script> 
function toggleButton(ref,bttnID){ 
document.getElementById(bttnID).disabled= ((ref.value !== ref.defaultValue) ? false : true); 
} 
</script> 
<form action="" method="post" id="subscribe" name="subscribe"> 
<label>Height:</label> 
<input type="text" name="height" onkeyup="toggleButton(this,'bttnsubmit');"> 
<input type="button" name="btnsubmit" value="Subscribe" disabled='disabled' id='bttnsubmit' /> 
</form> 
0

我现在看到我的问题。将Disabled更改为禁用并创建true和false状态之后,而不是按钮的false和false状态。我想出了以下更好的代码,应该能够完美地工作,因为我想要。

<input type = "text" id = "Height"> 
<button type = "button" id = "Work!" disabled = "true"> Work! </button> 
<script> 
var Height = document.getElementById("Height"); 
var Button = document.getElementById("Work!"); 

Height.addEventListener("input",function() { 
if(Height.length === 0 || Height.value == 0) { 
Button.disabled = true; 
} else { 
Button.disabled = false; 
} 
}); 
+0

而不是用什么等于指出错字的方式回答自己的问题,最好是删除您的问题。 – 2016-11-26 05:59:11

相关问题