!!!晕啊,难道没人知道了,第三次提问关于ALERT(xx.length)的结果是object!!!分不够再给

galaxywaif 2005-03-24 01:44:02
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title><%=session("RN")%>交通量</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<script language="JavaScript">
function insertrow()
{
var newrow = document.all("tb").rows[0].cloneNode(true); //克隆一行
document.all("newTB").appendChild(newrow); //添加刚才克隆的一行
}
function delerow()
{
if (confirm("确实要删除最后一行?")==false)
return false;
var numrow = document.all("newTB").rows.length;
if (numrow == 1)
{alert("此行无法删除!");
return false;}
document.all("newTB").deleteRow(numrow-1);
}
function ChangeSelect(obj)
{
var x = obj.value;
var tr = obj.parentNode.parentNode; //得到当前行的对象
var trnum = tr.rowIndex-1; //得到当前select在table第几行
var se = document.getElementsByName("bh_level"); //得到select的name为bh_level的集合
var wid = document.getElementsByName("width"); //宽度
if (x==4)
{se[trnum].length = 0; //清除内部option
//重新构造option
se[trnum].options[0] = new Option("轻","轻");
se[trnum].options[1] = new Option("中","中");
se[trnum].options[2] = new Option("重","重");
wid[trnum].readOnly = false;
wid[trnum].value = '';
}
else
if (x==1||x==2||x==3||x==5||x==6||x==7||x==8||x==9||x==10)
{se[trnum].length = 0; //清除内部option
se[trnum].options[0] = new Option("轻","轻");
se[trnum].options[1] = new Option("重","重");
wid[trnum].readOnly = false;
if (x==1||x==2) //裂缝
{wid[trnum].innerText = 0.2;
wid[trnum].readOnly = true;
}
else
if (x==8) //车辙
{wid[trnum].innerText = 0.4;
wid[trnum].readOnly = true;
}
else
{wid[trnum].innerText = '';
wid[trnum].readOnly = false;
}
}
else
{se[trnum].length = 0; //清除内部option
se[trnum].options[0] = new Option("--","");
wid[trnum].value = '';
wid[trnum].readOnly = false;
}
}
function check()
{
var str = document.all("tim").value;
//var chil = document.for_dis.children.length;
//alert(chil);
var forn = document.for_dis.elements;
alert(forn.length);
for(i=0;i<forn.length;i++)
{if(forn[i].value=="")
{alert("输入有误");return false;}
}

/*if (str.isDate())
document.all("dis").submit();
else
{alert("请填写正确格式日期!");
return false;}*/

}
String.prototype.isDate = function() //时间验证函数
{
var r = this.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);
if(r==null)
return false;
var d = new Date(r[1], r[3]-1, r[4]);
return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]);
}
</Script>
<Style>
td
{font-size: 11pt;}
</Style>
</HEAD>
<BODY>
<form method="post" action="dis_dat.asp" name="for_dis">
检测日期:
<input type="text" name="dat" id="tim" maxlength="10" size="12">(格式:<font color=blue>yyyy-mm-dd</font>)
<p>
<input type="button" onClick="insertrow();" value="增加一行">
  <input type="button" onClick="delerow();" value="删除一行">
<table width="95%" border="1" id="idTB">
<tbody id="tb" style="display:none;">
<tr>
<td><input type="text" name="zh_k" onblur="if(/[^0-9]/g.test(this.value)) {alert('只能输入正整数');this.value='';this.focus();}" size="5"></td>
<td><input type="text" name="zh_m" onblur="if(/[^0-9]/g.test(this.value)) {alert('只能输入正整数');this.value='';this.focus();}" size="3" maxlength="3"></td>
<td><select name="lufu"><option value="左">左</option><option value="右">右</option></select></td>
<td><select name="lane"><option value="行">行</option><option value="超">超</option><option value="">--</option></select></td>
<td><select name="bh_kind" onchange="ChangeSelect(this);">
<option value="1">纵裂</option>
<option value="2">横裂</option>
<option value="3">不规则裂逢</option>
<option value="4">龟裂</option>
<option value="5">坑槽</option>
<option value="6">松散</option>
<option value="7">沉陷</option>
<option value="8">车辙</option>
<option value="9">拥包</option>
<option value="10">波浪</option>
<option value="11">脱皮</option>
<option value="12">啃边</option>
<option value="13">麻面</option>
<option value="14">搓板</option>
<option value="15">翻浆</option>
<option value="16">冻胀</option>
<option value="17">泛油</option>
<option value="18">补中补</option>
</select></td>
<td><select name="bh_level"><option value="轻">轻</option><option value="重">重</option></select></td>
<td><input type="text" name="length" onblur="if(!/^\d+(\.\d{0,3})?$/.test(this.value)) {alert('请输入正确数字\n不能是负数,不能超过三位小数');this.value='';this.focus();}"></td>
<td><input type="text" name="width" onblur="if(!/^\d+(\.\d{0,3})?$/.test(this.value)) {alert('请输入正确数字\n不能是负数,不能超过三位小数');this.value='';this.focus();}"value="0.2" readonly></td>
</tr>
</tbody>
<tr>
<td>千米桩号</td><td>百米桩号</td><td>路幅</td><td>车道</td><td>病害类型</td><td>损坏级别</td><td>长度</td>
<td>宽度</td>
</tr>
<tbody id="newTb">
<tr id="idTR">
<td><input type="text" name="zh_k" onblur="if(/[^0-9]/g.test(this.value)) {alert('只能输入正整数');this.value='';this.focus();}" size="5"></td>
<td><input type="text" name="zh_m" onblur="if(/[^0-9]/g.test(this.value)) {alert('只能输入正整数');this.value='';this.focus();}" size="3" maxlength="3"></td>
<td><select name="lufu"><option value="左">左</option><option value="右">右</option></select></td>
<td><select name="lane"><option value="行">行</option><option value="超">超</option></select></td>
<td>
<select name="bh_kind" onchange="ChangeSelect(this);">
<option value="1">纵裂</option>
<option value="2">横裂</option>
<option value="3">不规则裂逢</option>
<option value="4">龟裂</option>
<option value="5">坑槽</option>
<option value="6">松散</option>
<option value="7">沉陷</option>
<option value="8">车辙</option>
<option value="9">拥包</option>
<option value="10">波浪</option>
<option value="11">脱皮</option>
<option value="12">啃边</option>
<option value="13">麻面</option>
<option value="14">搓板</option>
<option value="15">翻浆</option>
<option value="16">冻胀</option>
<option value="17">泛油</option>
<option value="18">补中补</option>
</select></td>
<td><select name="bh_level"><option value="轻">轻</option><option value="重">重</option></select></td>
<td><input type="text" name="length" onblur="if(!/^\d+(\.\d{0,3})?$/.test(this.value)) {alert('请填写正确数字\n不能超过三位小数'); this.value='';}"></td>
<td><input type="text" name="width" onblur="if(!/^\d+(\.\d{0,3})?$/.test(this.value)) {alert('请填写正确数字\n不能超过三位小数');this.value='';}" value="0.2" readonly></td>
</tr>
</tbody>
</table>
<input type="button" value="增加" onClick="check();">
</form>
</BODY>
</HTML>

这是整个页面的代码。。。。。。
其中:var forn = document.for_dis.elements;
alert(forn.length);的结果总是对象,请教怎么解决。。。。
应该是数值啊~~~~
...全文
86 点赞 收藏 3
写回复
3 条回复
galaxywaif 2005年03月24日
哈哈,麻烦大家了,我弄了好久没搞定,谢谢两位
回复 点赞
GageCSDN 2005年03月24日
你犯了一个低级错误:
把你页面里的name="length"里的length全改掉吧,一共有两处...
属性值是不能用保留字的
回复 点赞
baiyunfei 2005年03月24日
我晕,检查了半天原来你的表单中有两个name为length的input!!!名字换一下就行了。

=> <input type="text" name="length" onblur="if(!/^\d+(\.\d{0,3})?$/.test(this.value)) {alert('请输入正确数字\n不能是负数,不能超过三位小数');this.value='';this.focus();}">

=> <input type="text" name="lengthff" onblur="if(!/^\d+(\.\d{0,3})?$/.test(this.value)) {alert('请填写正确数字\n不能超过三位小数'); this.value='';}">
回复 点赞
发动态
发帖子
JavaScript
创建于2007-09-28

5.1w+

社区成员

22.3w+

社区内容

Web 开发 JavaScript
社区公告
暂无公告