html表单提交-javascript不提交输入按钮

html表单提交-javascript不提交输入按钮,javascript,html,forms,Javascript,Html,Forms,问题是:我有一个简单的表单,有三个按钮和一些隐藏的输入字段。根据按下的按钮(不同的name=”“值),该操作会执行不同的操作。 我现在尝试通过执行以下操作将确认对话框添加到此表单: <form method="POST" action="/action" onsubmit="return confirmFormSubmit(this);"> <input type="submit" name="one" value="This"> <input ty

问题是:我有一个简单的表单,有三个按钮和一些隐藏的输入字段。根据按下的按钮(不同的name=”“值),该操作会执行不同的操作。
我现在尝试通过执行以下操作将确认对话框添加到此表单:

<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>

功能确认表单提交(obj)
{
window.event.preventDefault();
jConfirm('您确定要执行此操作吗?','等待确认',函数(r){
如果(r==true){
obj.form.submit();
}否则{
返回false;
}
});
}
单击“确定”时,会执行操作,但不会提交输入按钮。
执行“document.location=obj.form.action;”不是选项,因为它不会提交POST参数


我怎样才能让这个该死的东西提交输入字段而不只是调用操作呢?

我认为这是因为onsumit方法覆盖了表单声明中的操作。 实际上,我会更改表单的按钮,使其成为一个链接到javascript方法的按钮,该方法执行所需的测试并将值提交给正确的操作。


<form method="POST" action="/action">
    <a href="javascript: confirmFormSubmit(this)">
        <input type="button" name="three" value="Something else">
    </a>
</form>

类似的操作应该会起作用

您的“/action”操作(抱歉:p)实际上做了什么?更改实体的状态或删除实体。这有什么关系?这已经是服务器端的了。@Samuele-为什么,它当然会运行操作。没有测试,我只需要它来提交POST变量,除了“提交”按钮之外,所有这些都是相同的…-1实际上为什么?伙计,试试看,你不使用submit/onsubmit表单,但是你调用了一个javascript方法来为你处理提交。它实际上在工作。所以,在做其他事情之前,先试试。对不起,我在两年后写信,但我不是那个否决你答案的人,尽管我知道为什么有人会这么做。