确认提交到特定页面

时间:2014-09-02 12:16:50

标签: javascript html forms

我的表单有两个不同的提交按钮,可以提交到不同的页面。

HTML:

<form id="campaign" method="post" enctype="multipart/form-data">

<input type="submit" value="Promote!" name="ap_promote" onsubmit="promote('?page=campaigns&id=<?php echo $campaigns_id?>&edit=true&test=2')" id="ap_promote">

</form>

使用Javascript:

function promote(action)
    {
        if (confirm('Are you sure you want to promote this campaign?'))
        {
            document.getElementById('campaign').action = action;
            document.getElementById('campaign').submit();
        }
        else
        {
            return false;
        }
    }

如您所见,它应该将表单发送到?page=campaigns&id=#&test=2。问题是它没有显示任何确认框,它只是将表单发送给自己,而不是发送到指定的URL。

3 个答案:

答案 0 :(得分:2)

按钮没有onsubmit事件,它是一个表单事件。由于您计划根据点击的按钮执行不同的操作,因此您可以使用按钮onclick和表单onsubmit事件的组合。看看:

<form id="campaign" method="post" enctype="multipart/form-data" onsubmit="return promote()">
    <input type="submit" value="Promote!" name="ap_promote" onclick="this.form.action='one'" id="ap_promote" />
    <input type="submit" value="Promote!" name="ap_promote" onclick="this.form.action='two'" id="ap_promote" />
</form>

JS代码变得如此简单:

function promote() {
    return confirm('Are you sure you want to promote this campaign?');
}

答案 1 :(得分:1)

在按钮点击处理程序

中将onsubmit="promote(..."更改为onsubmit="return promote(..."

答案 2 :(得分:0)

我希望这会对你有所帮助。 您应该使用按钮而不是提交按钮

<form id="campaign" method="post" enctype="multipart/form-data">

<input type="button" value="Promote!" name="ap_promote" onclick="promote('?page=campaigns&id=<?php echo $campaigns_id?>&edit=true&test=2')" id="ap_promote">

</form>