我正在尝试在同一个表单中使用两个不同的提交按钮。每个提交按钮,都会调用一个特定的 servlet。
我尝试使用 onclick 来执行此操作,但如果提交按钮不在表单中,我将无法在我的 servlet 中接收参数。它返回空值。
有没有办法做到这一点?
我相信您可以将提交按钮命名为不同的名称,然后在提交表单后在服务器上检查该名称。有一种方法可以根据表单按钮更改表单操作,这就像谷歌搜索一样容易解决。
看到这个:一个表单中的两个提交按钮
您可以有两个(或更多)提交按钮,但是只能有一个目标(有一个例外,我将在下面解释)。话虽如此,只有被点击的按钮会与表单数据一起发送,所以如果你命名它,你可以检查它的存在并调用相关的 servlet。
HTML5 定义了formaction
提交按钮的属性,允许您根据单击的按钮提交到不同的目标。但是,这是一项并非所有浏览器都支持的新功能,如果人们使用旧版本,可能会导致问题。
理想情况下,您应该让表单的action
属性是一个脚本,该脚本决定如何处理被单击的按钮,然后将formaction
属性添加到将表单直接指向相关文件的提交按钮。