Ajax 返回的 HTML 包括一个表格和一个提交按钮 (type=button)
该表包括用于克隆表行的 jQuery 例程(每行允许选择/上传一个文件,并且有两个值:<input type="text">
用于文档标题和<input type="file">
.
<table id="MyTable">
<tr name="tr3" id="tr3">
<td>
<input type="text" name="dt[]" id="dt1">
</td>
<td>
<input type="file" name="fff[]" id="ff1">
</td>
</tr>
</table>
<input type="button" name="sub1" id="sub1" value="Submit" onclick="checkform();">
提交表单后,我必须检查每个文档标题是否已填写,因此提交按钮会调用 javascript 例程:
function checkform()
{
if(document.updateprojectdocs.dt[0].value=='')
{
alert("Fields marked with an asterisk are required.");
document.updateprojectdocs.dt[0].focus();
return;
}
document.getElementById("TheForm").submit();
}
当然,这不起作用(脚本在表单提交之前死掉——但是如果我删除前面的 if 结构,则提交)。谁能告诉我为什么以及如何解决?
dt[]
此外,要检查的字段数量不确定。我怎么能构造一个循环来做到这一点?我怀疑 jQuery 的 .find().each() 可以使用,但不确定会是什么样子?
更新:
感谢DaHaKa在下面的回复,我更接近解决方案。我将 DaHaKa 的建议代码修改为 jQuery。
我在与 DaHaKa 沟通时遇到了问题——由于某种原因,他的回复直到他发布了很久很久很久之后才出现(问题可能出在我这边)。当我等待(几个小时)时,我在另一个问题中发布了部分问题并最终在那里解决了它。另一个问题变成了完全正确的答案,我将未来的观众引导到那里。请注意,用户thecodeparadox
创建了完整解决方案的工作 JSFiddle。
我把这个问题交给了 DaHaKa,因为他非常愿意并且能够提供帮助,但通信问题介入了。再次感谢,D。