使用JavaScript提交表单时,为什么不提交输入并提交表单中提交的按钮?

时间:2016-02-26 18:39:26

标签: javascript html forms

myform1将值button的{​​{1}}发送到服务器,但button-valuemyform2不会。这是为什么?

myform3

1 个答案:

答案 0 :(得分:1)

表单可以有多个提交按钮。如果您调用表单的提交方法,则无法推断使用了哪个提交。要获得提交输入以在帖子中注册,您必须主动使用它来提交表单。我可以想出两种解决方法。

隐藏输入中的默认值

您可以在<input type="hidden">字段中添加默认值。如果以编程方式提交表单,则隐藏字段将用于值。如果手动单击提交按钮,将在表单中稍后使用该按钮。

        <form name="myform" id="myform2" method="post">
            <input type="hidden" value="button-value" name="button">
            <button value="button-value" name="button" type="submit">button</button>
            <input type="test" value="123" name="data">
        </form>

触发click事件而不是submit事件

您还可以触发表单按钮的单击事件,该按钮事件将依次触发POST中具有适当值的表单的submit。使用当前代码,这样做不太实际,因为正常提交(在触发click事件后触发)会被中断并阻止。