首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Javascript onkeypress条件

Javascript onkeypress条件
EN

Stack Overflow用户
提问于 2014-10-02 03:34:37
回答 3查看 415关注 0票数 0

我是第一次探索java脚本,你能帮我吗?提前感谢

我在调节文本框时遇到了问题。

我有两个文本框,textbox1和textbox2,我希望只有当textbox2大于textbox1时,textbox2才会在onkeypress上提醒我一条消息。我成功了,但输出结果并不是我所期望的。所以这就是我所做的。

代码语言:javascript
复制
//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我是不是遗漏了什么?或者我只是个笨蛋。

EN

回答 3

Stack Overflow用户

发布于 2014-10-02 03:39:33

实际上,它是在第一个字符上调用的,并在第三个字符上正常工作,所以使用onchange

代码语言:javascript
复制
 <input type="text" id="text2" onchange="return validation()" />

最终,你将不得不决定console.log而不是警报,因为它会阻碍你的测试方式。

票数 0
EN

Stack Overflow用户

发布于 2014-10-02 03:51:42

你可以看到这个例子:http://jsfiddle.net/yonatanalexis22/yxub03yt/1/

代码语言:javascript
复制
var text2 = document.getElementById('text2');
text2.onchange = function(){    
 x = Number(document.getElementById('text1').value);
 y = Number(this.value);
 if(x < y)
 {    
    alert('Invalid');

 }
}
票数 0
EN

Stack Overflow用户

发布于 2014-10-02 03:55:44

首先:你的输入是“文本”。如果要比较数字,请将输入类型更改为"number“。

第二:添加监听器是一个cleaner way of handling this

因此,HTML可能如下所示:

代码语言:javascript
复制
Text1:<input type="number" id="text1"  /><Br />
Text2:<input type="number" id="text2"/>

你的JavaScript是这样的:

代码语言:javascript
复制
document.getElementById("text2").addEventListener("change", function() {
    if($('#text1').val() < $('#text2').val()) alert();
});

这只是一个简短的版本。

这是JSFiddle

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26149158

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档