使用javascript进行实时验证-onchange仅触发一次 [英] live validation with javascript - onchange only triggered once

查看:285
本文介绍了使用javascript进行实时验证-onchange仅触发一次的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

So I'm just testing something with js, basically the number in the first input has to be bigger than the number in the second input for the submit button to be activated.

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

The button get's disabled just right, but if I change the number it won't activate again

<!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>

数字输入的箭头似乎触发了onchange,这引起了问题

The arrows of the number input trigger onchange it seems, that caused the problem

推荐答案

您必须添加onclickonkeyup事件,以响应鼠标的交互并从剪贴板插入:

You have to add the onclick and onkeyup event in order to respond to mouse interactions and to inserts from the clipboard:

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()" />

这篇关于使用javascript进行实时验证-onchange仅触发一次的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆