密云君山别墅在哪:关于javascript

来源:百度文库 编辑:高考问答 时间:2024/05/06 04:02:54
我写了一段程序,代码如下:
<script language="JavaScript">
<!--

function test()
{

var f = document.ThisForm.f.value
var d = document.ThisForm.d.value
var c = document.ThisForm.c.value
var b = document.ThisForm.b.value
var a = document.ThisForm.a.value
for(f=f; f<d; f++)
{

if(f>=c) a=b
document.write(""+a+""+f+"<br>")

}

}

//-->
</script>

<form name="ThisForm">
<input type="text" name="a" size="20"><br>
<input type="text" name="b" size="18"><br>
<input type="text" name="c" size="9"><br>
<input type="text" name="d" size="4"><br>
<input type="text" name="f" size="2"><br><br>
<input type="button" name="press" value="确定" onClick="test()">
</form>

运行以后有毛病,在最后一个框输入“38”,倒数第二个框输入“101”,倒数第三个框输入“100”,倒数第四个框输入“063002010",倒数第一个框输入“0630020100”点击确定后什么也不显示,请问这是怎么回事?(框的顺序是从上到下,从“长”的到“短”的,“长”的为倒数第一个框)

原因是这样的,默认的比较是字符串的比较。
"38">"101",这是对的。
然而你要的是数字的比较。建议把类似
var f = document.ThisForm.f.value
改成
var f = parseInt(document.ThisForm.f.value)
把每一行var都这样改就可以了。