使用onsubmit函数在同一表单上提交多个提交按钮

时间:2013-02-04 03:38:42

标签: javascript html

我在myform中有3个sumbit按钮,我根据它点击的按钮需要不同的3个动作。所以我需要编写javascript函数来做同样的事情。我如何在javascript中了解哪个按钮被点击。

使用Javascript:

<script type="text/javascript" language="javascript">
function submitform(){
    //do something
}

HTML:

form name="myform" method="get,post" onsubmit="return submitform();"
input type="submit" name="submit" value="Home"
input type="submit" name="submit" value="Reschedule"
input type="submit" name="submit" value="Cancel"

任何帮助将不胜感激

4 个答案:

答案 0 :(得分:1)

修改

您还可以使用隐藏输入来告诉您按下了哪个按钮,然后在服务器上处理它。单击按钮时,它将在提交之前更改该输入。

<input type="submit" onclick="javascript:document.getElementById('submitClicked').value='forward';return true;" id="linkName" value="Forward" />
<input type="submit" onclick="javascript:document.getElementById('submitClicked').value='back';return true;" id="back" value="Back" />

演示:http://jsfiddle.net/Homeliss/vperb/

注意:该演示使用jquery显示消息而不是发布表单,但这仅用于演示目的。解决方案是普通的javascript

答案 1 :(得分:0)

如果你可以使用jQuery,那么这可能会容易得多。

然而,一种解决方案是从表单中删除submitform()并将其添加到每个提交按钮的onclick事件中。这样,您可以更改它以传递一个参数,表示哪个按钮称为它。

祝你好运。

答案 2 :(得分:0)

我们可以在页面中提交表单一次。所以我们在表单中只使用一个提交按钮。但是为了调用更多函数,我们可以使用 onClick 事件,输入类型应该是按钮。

答案 3 :(得分:-1)

我有一个问题。表单中是否还有其他输入字段? 如果还有其他字段,例如文本字段,当我们在文本字段中按Enter键时,将调用哪些按钮操作?

我的建议是:

<form name="myform" method="get,post" onsubmit="return false;">
    <input type="button" value="Home" onclick="submitform(1)" />
    <input type="button" value="Reschedule" onclick="submitform(2)" />
    <input type="button" value="Cancel" onclick="submitform(3)" />
</form>

在此代码中,用户必须单击按钮才能提交表单,按Enter键将不会执行任何操作。