如何在提交表单时判断两个输入框内数字的大小关系?
<input name="price1" type="text" size="20" value="0" >
<input name="price2" type="text" size="20" value="0" >
我如何判断,这两个输入框中输入的是数字,并且price1里的数字大于price2里的数字?
问题点数:0、回复次数:18Top
1 楼kaijian(凯)回复于 2003-12-02 17:50:34 得分 0
各位大侠,给说说吧?小弟等着用呢?Top
2 楼kaijian(凯)回复于 2003-12-02 17:54:28 得分 0
顶Top
3 楼kaijian(凯)回复于 2003-12-03 08:20:36 得分 0
顶Top
4 楼Struggling(Leo)回复于 2003-12-03 08:33:17 得分 0
只能输入数字:
<input onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')">
Top
5 楼kaijian(凯)回复于 2003-12-03 09:00:54 得分 0
顶
Top
6 楼say1no2(Studying .NET)回复于 2003-12-03 09:07:41 得分 0
<input name="price1" type="text" size="20" value="0" >
<input name="price2" type="text" size="20" value="0" >
<input name="button" type="button" onclick="if(price1.value>price2.value){alert('price1大于price2');}else{alert('price1小于price2');}">
Top
7 楼arbeng2002(志在天云)回复于 2003-12-03 09:11:01 得分 0
先限制输入的只能是数字,然后取值判断,同意楼上做法,Top
8 楼say1no2(Studying .NET)回复于 2003-12-03 09:13:03 得分 0
上面写的有个问题,就是两个数相等时会有错误,我又写了一个,你看看吧,已经调试通过了
<script>
function chk(){
if(price1.value>price2.value)
alert('price1大于price2');
else
if(price1.value==price2.value)
alert('price1等于price2');
else
alert('price1小于price2');
}
</script>
<input name="price1" type="text" size="20" value="0" >
<input name="price2" type="text" size="20" value="0" >
<input name="button" type="button" onclick="chk();">Top
9 楼ghlfllz(风流浪子)回复于 2003-12-03 09:23:34 得分 0
结合 Struggling(EO)和say1no2(海子)的意见就可以完成你所要的功能了Top
10 楼aspczlover(你的骄傲...)回复于 2003-12-03 10:17:27 得分 0
用vbscript
<script language=vbscript>
'判断数字大小
function check
if trim(FORM1.price1.value&"")>trim(FORM1.price2.value&"") then
check="ok1"
else
check="ok2"
end if
end function
sub b1_onclick
if check="ok1" then
i = msgbox("price1大于price2",vbokcancel,"警告")
if i = 1 then
form1.target="right"
FORM1.action ="<%="a1.asp"%>"
FORM1.submit
end if
else
j= msgbox("price1小于或者等于price2",vbokcancel,"警告")
if j = 1 then
form1.target="right"
FORM1.action ="<%="a2.asp"%>"
FORM1.submit
end if
end if
end sub
</script>
Top
11 楼aspczlover(你的骄傲...)回复于 2003-12-03 10:18:11 得分 0
<input type="button" value="按钮" name="B1">Top
12 楼happylifei(才鸟)回复于 2003-12-03 10:38:49 得分 0
最好用javascript加正则表达式(偶刚接触正则表达式,感觉不错)Top
13 楼kaijian(凯)回复于 2003-12-17 12:32:35 得分 0
上面的方法我试过了,不过100 和20 谁大。Top
14 楼troopers(骑兵)回复于 2003-12-17 12:55:11 得分 0
<html>
<script language=vbscript>
sub dd_onclick()
aa1=bug.aa.value
bb1=bug.bb.value
cc1=bug.cc.value
if aa1="" then
msgbox "您没填写你的姓名!"
else
if bb1="" or cc1="" then
msgbox "您还没填写密码!"
else
if bb1<>cc1 then
msgbox "您两次填写的密码不一样!"
else
msgbox "注册成功!"
end if
end if
end if
end sub
</script>
<body >
<form action="2.asp" method=post name=bug>
<font size=+1 color=red>用户注册</font>
<hr noshade>
<br>
请输入姓名:<input type=text name=aa><br>
请输入密码:<input type=password name=bb><br>
请重复密码:<input type=password name=cc><br>
<input type=button value=提交 name=dd>
</form>
</body>
</html>
用vbscript判断的Top
15 楼qiozi(【悟】.欢希欢南换)回复于 2003-12-17 13:17:09 得分 0
troopers(骑兵) 的代码好像跟问题些不大相干Top
16 楼qiozi(【悟】.欢希欢南换)回复于 2003-12-17 13:31:51 得分 0
结合以上方法,得出
<script language=vbscript>
sub dd_onclick()
price1=form1.price1.value
price2=form1.price2.value
if (not isnumeric(price1)) or (not isnumeric(price2)) then
msgbox "输入的不是数字"
else
price1=clng(price1)
price2=clng(price2)
if price1>price2 then
msgbox "1d"
else
if price2>price1 then
msgbox "2d"
else
msgbox "相等"
end if
end if
end if
end sub
</script>
<form action="" name=form1>
<input name="price1" type="text" size="20">
<input name="price2" type="text" size="20">
<input type=button value=提交 name=dd>
</form>Top
17 楼qiozi(【悟】.欢希欢南换)回复于 2003-12-17 13:32:23 得分 0
楼上,经过测试的Top
18 楼wwwliaole(无聊)回复于 2003-12-17 15:53:37 得分 0
price1
和price2
经过parseFloat函数处理后再比较。
如果没有经过处理,则取得到的值是字符串而不是数字。
parseFloat(price1)Top




