如何用JS设置在input里面如果输入汉字就弹出窗口 “请输入数字”。

也包括字母 就是只能输入int类型的数字,其他都提示

第1个回答  2014-03-27
<input type="text" onkeyup="if(!/^\d+$/.test(this.value)) {alert('请输入数字'); this.value=this.value.replace(/[^\d]+/g,'');}" />

追问

的确是 解决了我的问题,可是体验很不好,随便一个回车,或敲后退格都会弹窗口,能不能关联到按钮再检测是否是数字啊

追答<input type="text" id="tt" />

<input type="button" value="test" onclick="var tt=document.getElementById('tt'); if(!/^\d+$/.test(tt.value)) {alert('请输入数字'); tt.value=tt.value.replace(/[^\d]+/g,'');}" />

追问

真不好意思,还得麻烦问您, 是这样的 这个submit按钮 onclick本来是return一个查询方法,这个input里的要查询的值是long属性的,所以输入字符串查询就会弹到错误页面。现在在前面又写了一个onclick,能不能如果弹第一个窗口,第二个onclick就不调用了呢,或者有别的解决方法吗

追答

听不懂

追问

就是如果谈窗口就不查询了。=。=

追答if (...) {
...
} else {
    return searchVideoInfo();
}

本回答被提问者采纳
第2个回答  2014-03-26
<html>
<head>
<script type="text/javascript" src="/jquery/jquery.js"></script>
<script type="text/javascript">

$("#field").change(function(){
var s=$("#field").val();
var reg = new RegExp("^[0-9]*$");
if(!reg.test(s)){
alert("请输入数字");
}
});

</script>
</head>
<body>

Enter your name: <input id="field" type="text" />
</body>
</html>
相似回答