当我尝试提交表单时遇到一个奇怪的问题。我的页面包含一个 html 表,其中一列有一个链接,该链接可以调用 js 函数从数据库中删除该行。
html/php 行如下:
<input type="hidden" name="deleteid" value=0>
print ", <a href=\"\" class=\"action_link\" onClick=\"javascript:delete_line($id);\">delete</a>";
JavaScript 函数如下:
function delete_line(team_id) {
if (confirm('<?php echo $txt_confirm_del_team;?>')){
document.formName.elements.deleteid.value = team_id;
document.formName.submit();
}
}
如果我在“document.formName.submit();”行上放置断点,则被调用的页面可以读取参数“deletedid”。如果不是,则参数不会传递到提交调用的页面。
顺便说一句,如果我使用 getElementById()
检索 javascript 函数中的元素或表单,我还会遇到另一个问题:它说 getelementbyid
为 null(这不是因为我可以使用语法 document.formName.elements.deleteid
)
谢谢
最佳答案
那里可能还有一些其他事件处理程序,您可以在 Chrome 中打开页面并右键单击 anchor ,然后选择“检查元素”,然后在“事件监听器”选项卡中查看事件处理程序。
就您发布的代码而言;没有什么问题。以下对我来说效果很好:
<html>
<head>
<title>test</title>
</head>
<body>
<a onclick="javascript:delete_line(22);">delete</a>
<script>
function delete_line(nr){
console.log(nr);
}
</script>
</body>
</html>
关于Javascript form.submit() 仅在调试时有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19592080/