问题在于:我有一个带有三个按钮和一些隐藏输入字段的简单表单。根据按下的按钮(不同的名称=“”值),动作会有所不同 我现在尝试通过执行以下操作向此表单添加一个确认对话框:
<form method="POST" action="/action" onsubmit="return confirmFormSubmit(this);">
<input type="submit" name="one" value="This">
<input type="submit" name="two" value="That">
<input type="submit" name="three" value="Something else">
</form>
<script type="text/javascript">
function confirmFormSubmit(obj)
{
window.event.preventDefault();
jConfirm('Are you sure you want to do this?', 'Awaiting confirmation', function(r) {
if (r == true) {
obj.form.submit();
} else {
return false;
}
});
}
</script>
当我单击“确定”时,操作会发生,但输入按钮未提交 做'document.location = obj.form.action;'不是一个选项,因为它不会提交POST参数。
如何让该死的东西提交输入字段而不仅仅是调用动作?
答案 0 :(得分:0)
我认为这是因为onsumit方法会覆盖表单声明中的操作。 我实际上会更改表单的按钮,并使其成为一个链接到javascript方法的按钮,该方法执行必要的测试并将值提交给正确的操作。
答案 1 :(得分:-1)
<form method="POST" action="/action">
<a href="javascript: confirmFormSubmit(this)">
<input type="button" name="three" value="Something else">
</a>
</form>
这样的事情应该有效