使用javascript进行实时验证 - onchange仅触发一次

dee*_*mel 5 html javascript validation onchange

所以我只是用js测试一些东西,基本上第一个输入中的数字必须大于第二个输入中要激活的提交按钮的数字.

按钮被禁用恰到好处,但是如果我更改了数字,它将不会再次激活

<!DOCTYPE HTML>
<html>
<body>
<input type='number' id='first' onchange="validateNumber()"/><br>
<input type='number' id='second' onchange="validateNumber()"/><br>
<script type="text/javascript" >
function validateNumber()
{
var first = document.getElementById('first').value;
var second = document.getElementById('second').value;

if(first > second){
document.getElementById('sub').disabled=false;
}else{
document.getElementById('sub').disabled=true;   
}


}
</script>
<input type="submit" id="sub"/>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

编辑:数字输入的箭头触发onchange似乎,这导致了问题

Com*_*eek 5

您必须添加onclickonkeyup事件才能响应鼠标交互和从剪贴板插入:

http://jsfiddle.net/wzvvN/1

<input type='number' id='first' onkeyup="validateNumber()" onclick="validateNumber()" onchange="validateNumber()" />

<input type='number' id='second' onkeyup="validateNumber()" onclick="validateNumber()" onchange="validateNumber()" />
Run Code Online (Sandbox Code Playgroud)