就值20point的问题。

yuptongzhi 2003-01-03 11:38:15
<table id="tt" border=1 onmouseover="a()">
<tr><td><input name="starttime"></td><td><input name="endtime"></td></tr>
</table>
<input type=button onclick="addrow()" value="add">
<script>
function addrow(){
var arr=['starttime','endtime']
var table1=document.all.tt
var row=table1.insertRow()
for(var i=0;i<2;i++){
cell1=row.insertCell(i);
cell1.innerHTML="<input"+arr[i]+">";
}
}
</script>

运行上面的代码会动态生成如下的表格:

<table id="tt" border=1 onmouseover="a()">
<tr><td><input name="starttime"></td><td><input name="endtime"></td></tr>
<tr><td><input name="starttime"></td><td><input name="endtime"></td></tr>
<tr><td><input name="starttime"></td><td><input name="endtime"></td></tr>
。。。。。。
</table>

我的问题是,怎么用JS判断每个动态生成的<input>输入的内容符合时间格式。<input>的名字不能变,只能是endtime,starttime?还有怎么用JS比较每一行的endtime和starttime的大小,endtime<starttime就报错?注意是同一行的<input>两两比较,而不是所有的starttime和endtime比较,还要注意这些<input>在页面加载的时候是不存在的,是动态生成的,每一次情况都不一样。
...全文
38 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
搞搞儿的 2003-01-07
  • 打赏
  • 举报
回复
if (!(/\d{2}[\:]\d{2}[\:]\d{2}/.test(document.all.starttime[i].value))) alert("开始时间错")
潇洒 2003-01-06
  • 打赏
  • 举报
回复
先回答你这个 20 分.

<table id="tt" border=1>
<tr><td><input name="starttime" value=1></td><td><input name="endtime" value=2></td></tr>
<tr><td><input name="starttime" value=2></td><td><input name="endtime" value=1></td></tr>
<tr><td><input name="starttime" value=1></td><td><input name="endtime" value=1></td></tr>
</table>
<SCRIPT LANGUAGE="JavaScript">
for(i=0;i<document.all.starttime.length;i++){
if(document.all.starttime[i].value>document.all.endtime[i].value){
alert("开始时间不能小于结束时间。在第"+(i+1)+"行");
}
}
</SCRIPT>
烂笔头Danky 2003-01-04
  • 打赏
  • 举报
回复
比较:
for (var i=0; i<document.tt.starttime.length; i++) {
document.tt.starttime[i]<document.tt.endtime[i];
}
yuptongzhi 2003-01-04
  • 打赏
  • 举报
回复
function compare(){
var start=document.tt.starttime.value
var end=document.tt.endtime.value
var s=start.split(",");
var e=end.split(",");
for (var i=0; i<s.length; i++) {
if(s[i]>e[i])
alert("开始时间不能小于结束时间。");
}
}
yuptongzhi 2003-01-04
  • 打赏
  • 举报
回复
function compare(){
var start=document.tt.starttime.value
var end=document.tt.endtime.value
var s=start.split(",");
var e=end.split(",");
for (var i=0; i<s.length; i++) {
s[i]>e[i];
alert("开始时间不能小于结束时间。");
}
}
这一段也不行。
yuptongzhi 2003-01-04
  • 打赏
  • 举报
回复
楼上的,你的代码好象不行。
yuptongzhi 2003-01-03
  • 打赏
  • 举报
回复
不好意思,那段JS应该是这样:
<script>
function addrow(){
var arr=['starttime','endtime']
var table1=document.all.tt
var row=table1.insertRow()
for(var i=0;i<2;i++){
cell1=row.insertCell(i);
cell1.innerHTML="<input name="+arr[i]+">";
}
}
</script>

87,996

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧