问个JAVASCRIPT的问题不知可不可以
<html><head>
<script language="javascript">
function total()
{
var a=document.myform.yuan.value;
if(a=="不能超过35万" )
document.myform.yuan.select();
}
function check()
{
var cash=document.myform.yuan.value;
if( cash.length==0 || isNaN(cash) )
{
alert("不对");document.myform.yuan.select();
}
if( cash>350000)
{
alert("数值太大");
document.myform.yuan.select();
}
}
function counter()
{
var a=document.myform.yuan.value;
var b=document.myform.myselect.value;
var c=document.myform.myselect2.value;
var afs;
if(b=="gong")
{
switch(c)
{
case 5:afs=0.85;break;
case 10:afs=0.80;break;
case 15:afs=0.75;break;
}
}
else
{
switch(c)
{
case 5:afs=0.95;break;
case 10:afs=0.90;break;
case 15:afs=0.85;break;
}
}
document.myform.huan.value=a*afs;
}
</script>
</head>
<body>
<form name=myform>
购房计算器
请输入数据
计算结果:
贷款总额:
<input name=yuan type=text value=不能超过35万 size=15 onFocus=total()
onBlur=check()>元
每月还款:<input name=huan type=text size=15>元
贷款方式:
<select name=myselect>
<option value=gong >公积金</option>
<option value=shang>商业贷款</option>
</select>
还款期限:
<select name=myselect2>
<option value=5>5</option>
<option value=10>10</option>
<option value=15>15</option>
</select>
<input name=count type=button value=计算onClick=counter()>
<input name=reset type=reset value=重置>
</form>
</body>
</html>
为什么输出的结果会等于NaN呢? if(a=="不能超过35万" )
某想不會有人輸入 "不能超过35万"吧 那只是为了第一次的时候才用到的操作啊,你看看下面我写的
<input name=yuan type=text value=不能超过35万 size=15 onFocus=total()
onBlur=check()>元
我是初始它的 value=不能超过35万 switch(c)
{
case 5:afs=0.85;break;
case 10:afs=0.80;break;
case 15:afs=0.75;break;
}
}
else
{
switch(c)
{
case 5:afs=0.95;break;
case 10:afs=0.90;break;
case 15:afs=0.85;break;
}
}
這兒邏輯上是正確的
很可惜地 myselect的資料是字串,而不是數字
所以要改成
case 5:afs=0.95;break;
-->
case "5":afs=0.95;break;
全部也是這樣改,換回字串該沒有問題
页:
[1]