| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 745 人关注过本帖
标题:[求助] 检测提交字符的问题
只看楼主 加入收藏
afeifei
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2007-6-1
收藏
 问题点数:0 回复次数:6 
[求助] 检测提交字符的问题

大家好,今天我看着教程写了一个检测提交字符的程序,但总是出问题,自己看了2个多小时还是没找出哪出的毛病
各位大狭也来帮我看看吧
代码如下:
<body>
<form name=f1 method=post action="" onsubmit="return ff(this)">
<input type=text name=tt>
<input type=submit name=ss value="提交">
</form>
<script language=javascript>
function ff(f1)
{
if(f1.tt.value.length != 5)
{
alert("数字号必须是5位数");
}
else
{
for(var i=0;i<f1.tt.length;i++)
{
if (f1.tt.charAt(i)<0 || f1.tt.charAt(i)>9)
{
alert("数字号必须是数字形式");
return false;
}
}
}
}
</script>

</body>

这段代码在检测位数的时候是没有问题的,但是在检测是否数字的时候就不管用了,
而且不管输入的什么,只要够5位数,就会提交。
我原以为是if (f1.tt.charAt(i)<0 || f1.tt.charAt(i)>9)
这段代码出的问题,以为是提交的是字符串形式的,而检测的时候是数字形式的,但
我做了个实验
<script language=javascript>
var a = "1";
var b = 2;
if(a<b)
{
alert(a);
}
else{
alert(b);}
</script>照样能检测出A是否大于B;
不知道是怎么回事了,我晕了,就来找大家了
会的帮我看看~~谢了

搜索更多相关主题的帖子: 字符 name form 检测 
2007-06-28 00:48
madpbpl
Rank: 4
等 级:贵宾
威 望:11
帖 子:2876
专家分:244
注 册:2007-4-5
收藏
得分:0 
2007-06-28 01:09
zhulei1978
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:53
帖 子:1351
专家分:1200
注 册:2006-12-17
收藏
得分:0 

<body>
<form name=f1 method=post action="" onsubmit="return ff(this)">
<input type=text name=tt>
<input type=submit name=ss value="提交">
</form>
<script language=javascript>
function ff(f1)
{
if(f1.tt.value.length != 5){
alert("数字号必须是5位数");
}
else{
var i,j,strTemp;
strTemp = "0123456789";
for(var i=0;i<f1.tt.value.length;i++){
j = strTemp.indexOf(f1.tt.value.charAt(i));
if (j == -1){
alert("数字号必须是数字形式");
f1.tt.value=""
return false;
}
}
}
}
</script>

</body>


其实我就是改变社会风气,提高少女素质,刺激电影市道,提高年轻人内涵,玉树临风,风度翩翩的整蛊专家,我名叫古晶,英文名叫JingKoo!
2007-06-28 10:46
zhulei1978
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:53
帖 子:1351
专家分:1200
注 册:2006-12-17
收藏
得分:0 
if (f1.tt.charAt(i)<0 || f1.tt.charAt(i)>9)
如果你输入的是字母的话,字母与数字相比较结果总是false,不信你可以这样
<html><head>
<script language=javascript>
var a = "s";
var b = 2;
if(a>b)
{
alert(a);
}
else{
alert(b);
}
</script>
</head><body>
</body></html>
弹出的是2
再把>改为<
<html><head>
<script language=javascript>
var a = "s";
var b = 2;
if(a<b)
{
alert(a);
}
else{
alert(b);
}
</script>
</head><body>
</body></html>
弹出的也是2

其实我就是改变社会风气,提高少女素质,刺激电影市道,提高年轻人内涵,玉树临风,风度翩翩的整蛊专家,我名叫古晶,英文名叫JingKoo!
2007-06-28 14:24
zhulei1978
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:53
帖 子:1351
专家分:1200
注 册:2006-12-17
收藏
得分:0 

写成这样也可以
<input type=submit name=ss value="提交">
</form>
<script language=javascript>
function ff(f1)
{
if(f1.tt.value.length != 5)
alert("数字号必须是5位数");
else{
for(var i=0;i<f1.tt.value.length;i++){
if (f1.tt.value.charAt(i)>0&&f1.tt.value.charAt(i)<9)
;
else{
alert("数字号必须是数字形式");
return false;
}
}
}
}
</script>

</body>


</HTML>


其实我就是改变社会风气,提高少女素质,刺激电影市道,提高年轻人内涵,玉树临风,风度翩翩的整蛊专家,我名叫古晶,英文名叫JingKoo!
2007-06-28 15:53
afeifei
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2007-6-1
收藏
得分:0 
zhulei大哥果然是高手,哈哈~~
我拿着你的代码和我写的代码分析了一下,就是我value掉了。
还有你写的用查找字符串位置的方法也很棒啊,呵呵,又学了一招

2007-06-28 17:50
zhulei1978
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:53
帖 子:1351
专家分:1200
注 册:2006-12-17
收藏
得分:0 
呵呵,也不是什么高手了

其实我就是改变社会风气,提高少女素质,刺激电影市道,提高年轻人内涵,玉树临风,风度翩翩的整蛊专家,我名叫古晶,英文名叫JingKoo!
2007-06-28 19:11
快速回复:[求助] 检测提交字符的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014675 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved