4

我的表单中有 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

4 回答 4

2

编辑:

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

<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

于 2013-02-04T04:01:43.197 回答
0

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

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

祝你好运。

于 2013-02-04T03:43:20.073 回答
0

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

于 2014-01-06T07:17:27.633 回答
-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 不会导致执行任何操作。

于 2013-02-04T05:14:49.163 回答