Javascript难题:一个页面中有很多很多个Input,ID不同,名字可能相同,如何限定某些输入框只能输入数字 o=document.getElementById("id")o.lengtho[i]/[0-9]+/ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 o=document.getElementById("id")for(i=0;i<o.length;i++){ o[i]/[0-9]+/正侧匹配 有很多Input, ID 都不相同,也是未知的。请问,大大具体该怎么写呢。 <input id="1" type="text" name="1" value="1"><input id="11" type="text" name="1" value="bb"><br><input id="111" type="text" name="11" value="3"><input id="1111" type="text" name="11" value="dddd"><br><input id="1111" type="button" name="22" value="提交" onClick="Check();"><script language="JavaScript"><!--function Check() /*----*/{ var o = document.getElementsByTagName("input"); var len = o.length; var reg = /^[0-9]+$/; for(var i=0; i<len-1; i++) { var a = o.item(i).value; var c = reg.test(a); if(!c) alert("Error!"); else alert("OK!"); } }//--></script> 楼上他说的是某些input你这个是不对的 <form><input type=text name=textbox1 onkeydown=checkIsNum()/><input type=text name=textbox2 onkeydown=checkIsNum()/>.....</form><script language=javascript>function checkIsNum(){ if((event.kedCode<48 || event.keyCode>57) && event.keyCode != 8) event.returnValue=false; else event.returnValue=true;}</script>这是事先决定是不是输入数字。如果用校验的方法则须用form.Elements数组。仅将function给出。function CheckIsNum(formCheck){ for(var i=0;i<formCheck.elements.length;i++) { if(formCheck.elements[i].type='text' && needCheck==1) { //add your check code here...... } }}<form><input type=text needCheck=1 ><!-- 需校验--!〉<input type=text needCheck=0 ><!-- 无需校验--!〉<input type=text needCheck=1 ><input type=button onclick='CheckIsNum(this.form);' value=check ></form> 楼主可能是从数据库一条条的读出来.生成input,只是改变id吧.为何不在每个input的onkeydown中加入检查代码. 我赞同yuyong990183(yy)的方法,对于js自定义的js属性,来做这方面的校验是非常灵活的 实际上我是这样做的:相信这是一种比较通用的方式:http://community.csdn.net/Expert/topic/3426/3426786.xml?temp=.2899286请各位大大提意见! <input name="kao"><input name="kao"><input name="kao"><input name="kao"><input name="kao"><input name="kao"><input name="kao"><input name="kao"><input name="kao"><script event="onclick" for="kao">alert(/^\d+$/.test(this.value)?'Ok':'Error')</script> 求助!只要打开/查看其他标签就会出错的JS! ExtJs4.0 grid表格不显示数据 怎样获得一个变量本身的名字? js滚动条之问题 请教javascript中的一个函数 点击一个表格如何获得另一个表格中的对象 求助:怎样在鼠标点击一个input控件时弹出一个动态div ********第一次问问题,请帮忙!!!!!!*********** javascript从来没写过,求一个定制浮动广告的简单代码(MM)! onsubmit表单送出问题 对颜色有研究的朋友请进 哪位高手能简化如下函数(只有6行)
for(i=0;i<o.length;i++){
o[i]
/[0-9]+/正侧匹配
<input id="11" type="text" name="1" value="bb"><br>
<input id="111" type="text" name="11" value="3">
<input id="1111" type="text" name="11" value="dddd"><br>
<input id="1111" type="button" name="22" value="提交" onClick="Check();">
<script language="JavaScript">
<!--
function Check() /*----*/
{
var o = document.getElementsByTagName("input");
var len = o.length;
var reg = /^[0-9]+$/; for(var i=0; i<len-1; i++)
{
var a = o.item(i).value;
var c = reg.test(a);
if(!c)
alert("Error!");
else
alert("OK!");
}
}
//-->
</script>
<form>
<input type=text name=textbox1 onkeydown=checkIsNum()/>
<input type=text name=textbox2 onkeydown=checkIsNum()/>
.....
</form>
<script language=javascript>
function checkIsNum()
{
if((event.kedCode<48 || event.keyCode>57) && event.keyCode != 8)
event.returnValue=false;
else
event.returnValue=true;
}
</script>
这是事先决定是不是输入数字。如果用校验的方法则须用form.Elements数组。
仅将function给出。
function CheckIsNum(formCheck)
{
for(var i=0;i<formCheck.elements.length;i++)
{
if(formCheck.elements[i].type='text' && needCheck==1)
{
//add your check code here......
}
}
}
<form>
<input type=text needCheck=1 ><!-- 需校验--!〉
<input type=text needCheck=0 ><!-- 无需校验--!〉
<input type=text needCheck=1 >
<input type=button onclick='CheckIsNum(this.form);' value=check >
</form>
相信这是一种比较通用的方式:http://community.csdn.net/Expert/topic/3426/3426786.xml?temp=.2899286请各位大大提意见!
<input name="kao">
<input name="kao">
<input name="kao">
<input name="kao">
<input name="kao">
<input name="kao">
<input name="kao">
<input name="kao"><script event="onclick" for="kao">
alert(/^\d+$/.test(this.value)?'Ok':'Error')
</script>