Javascript难题:一个页面中有很多很多个Input,ID不同,名字可能相同,如何限定某些输入框只能输入数字

阿土伯土 2004-10-01 04:19:17
Javascript难题:一个页面中有很多很多个Input,ID不同,名字可能相同,如何限定某些输入框只能输入数字
...全文
467 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
gaofaq 2004-10-04
  • 打赏
  • 举报
回复
<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>
阿土伯土 2004-10-04
  • 打赏
  • 举报
回复
实际上我是这样做的:


相信这是一种比较通用的方式:

http://community.csdn.net/Expert/topic/3426/3426786.xml?temp=.2899286

请各位大大提意见!
kingchang2000 2004-10-03
  • 打赏
  • 举报
回复
我赞同yuyong990183(yy)的方法,对于js自定义的js属性,来做这方面的校验是非常灵活的
neuljt 2004-10-02
  • 打赏
  • 举报
回复
楼主可能是从数据库一条条的读出来.生成input,只是改变id吧.为何不在每个input的onkeydown中加入检查代码.
yuyong990183 2004-10-01
  • 打赏
  • 举报
回复

<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你这个是不对的
cybernaute 2004-10-01
  • 打赏
  • 举报
回复
<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>
nchen123 2004-10-01
  • 打赏
  • 举报
回复
getElementsByName
  • 打赏
  • 举报
回复
晕,如果对你未知的话你怎么修改网页啊
看傻了
阿土伯土 2004-10-01
  • 打赏
  • 举报
回复
有很多Input, ID 都不相同,也是未知的。

请问,大大具体该怎么写呢。
  • 打赏
  • 举报
回复
o=document.getElementById("id")
for(i=0;i<o.length;i++){

o[i]
/[0-9]+/正侧匹配
libra_king 2004-10-01
  • 打赏
  • 举报
回复
用循环哦!
  • 打赏
  • 举报
回复
o=document.getElementById("id")
o.length
o[i]
/[0-9]+/

87,992

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧