我是第一次探索java脚本,你能帮我吗?提前感谢
我在调节文本框时遇到了问题。
我有两个文本框,textbox1和textbox2,我希望只有当textbox2大于textbox1时,textbox2才会在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 < text2我是不是遗漏了什么?或者我只是个笨蛋。
发布于 2014-10-02 03:39:33
实际上,它是在第一个字符上调用的,并在第三个字符上正常工作,所以使用onchange
<input type="text" id="text2" onchange="return validation()" />最终,你将不得不决定console.log而不是警报,因为它会阻碍你的测试方式。
发布于 2014-10-02 03:51:42
你可以看到这个例子: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');
}
}发布于 2014-10-02 03:55:44
首先:你的输入是“文本”。如果要比较数字,请将输入类型更改为"number“。
第二:添加监听器是一个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。
https://stackoverflow.com/questions/26149158
复制相似问题