我有一个 HTML 表,其中的行表示数据库记录。最后一列的单元格有一个带有提交按钮的表单,用于删除数据库记录。表单具有唯一的 ID,但其中的字段只有名称,并且每个表单的名称都相同。
我有一个简单的用户确认,但我想确保表单不只是由于 Javascript 未运行(错误或其他原因)而提交。所以我想我会将其中一个隐藏字段的值留空并在提交时填写(处理脚本需要的字段但无论选择哪条记录都是相同的值,所以很容易分配)。这是我尝试过的:
$(document).ready(function() {
$("form[id^='deltrans']").submit(function(e) {
if (confirm("Are you sure you want to delete this transaction?")) {
$(this).find("[name='uri']").val("my value...");
} else {
e.preventDefault();
}
});
});
但是使用 $(this).find() 似乎不起作用 - Firebug 说 $(this).find("[name='uri']").val() 是未定义的。如果出现 JS 问题,您能否看到我的错误或有更好、更简单的建议来防止意外提交表单?
编辑:根据评论中的请求,这里是相关的 HTML:
<form method="post" id="deltrans<? echo $row->TransID; ?>" action="processor.php">
<td class="button-in-table">
<input type="hidden" name="tid" value="<? echo $row->TransID; ?>">
<input type="hidden" name="uri" value="">
<input type="submit" name="deltrans" value="Del">
</td>
</form>