我是第一次探索java脚本,你能帮助我吗?提前谢谢你 我在调理文本框时遇到问题 我有2个文本框,textbox1和textbox2,我希望textbox2仅在textbox2大于textbox1时在onkeypress上提醒我。我成功了,但输出不是我的预期。所以这就是我所做的。
//javascript
function validation()
{
x = Number(document.getElementById('text1').value);
y = Number(document.getElementById('text2').value);
if(x < y)
{
alert('Invalid');
return false;
}
}
<!-- HTML -->
<html>
<body>
Text1:<input type="text" id="text1" /><Br />
Text2:<input type="text" id="text2" onkeypress="return validation()" />
</body>
</html>
所以结果如下:
文本1:10
文本2:11
当text2是3位时,例如110出现警告消息,当我输入11时它应该出现,因为text1&lt; text2我错过了什么吗?或者我只是个白痴。
答案 0 :(得分:0)
实际上它会在第一个字符上被调用,并且在第三个字符上工作,因此使用onchange
<input type="text" id="text2" onchange="return validation()" />
最终你必须决定console.log而不是警告,因为它会阻止你测试方式。
答案 1 :(得分:0)
你可以看到这个例子: http://jsfiddle.net/yonatanalexis22/yxub03yt/1/
var text2 = document.getElementById('text2');
text2.onchange = function(){
x = Number(document.getElementById('text1').value);
y = Number(this.value);
if(x < y)
{
alert('Invalid');
}
}
答案 2 :(得分:0)
首先:您的输入是“文本”。如果要比较数字,请将输入类型更改为“数字”。
第二:添加监听器是cleaner way of handling this。
所以HTML看起来像这样:
Text1:<input type="number" id="text1" /><Br />
Text2:<input type="number" id="text2"/>
你的JavaScript就像这样:
document.getElementById("text2").addEventListener("change", function() {
if($('#text1').val() < $('#text2').val()) alert();
});
这只是一个简短的版本。
这是JSFiddle。