2

我有一个表格。我希望它有两个按钮(按钮A,按钮B)。有没有更好的方法来确定单击了哪个按钮而不是保留隐藏的输入字段,并通过 onClick() 中的 javascript 将其值设置为每个不同的字符串?

这就是本文所展示的内容: http ://www.java2s.com/Code/Java/JSP/JspformUsingButtons.htm

但这似乎有点奇怪,没有比跳过那些箍更好的方法吗?

谢谢

4

4 回答 4

6

您可以使用namevalue属性来区分表单上的按钮,然后从服务器读取适当的值。这是一个例子:

​<form method="get" action="test.htm" target="new">
  <button type="submit" name="button" value="1">Button One</button>
  <button type="submit" name="button" value="2">Button Two</button>
</form>​​​​​​​​​​​​​​​​​​​​​​​​​​

Button 1被点击时,URL 将包含button=1,当然当Button 2被点击时,button=2

显然,您可以使用任何name您想要的属性,只要两个按钮具有相同的name. 这将使用POST而不是GET.

http://jsfiddle.net/M74xN/

于 2012-04-12T01:09:52.263 回答
2

使用 jsp 和 servlets,可能的操作将是:

在 html 或 jsp 页面中

​</p>

<form method="POST" action="servlet">
  <button type="submit" name="action" value="add">add</button>
  <button type="submit" name="action" value="edit">delete</button>
</form>​​​​​​​​​​​​​​​​​​​​​​​​​​

Servlet POST 方法

if (request.getParameter("action") != null) //if action is not null
        {
            String action = request.getParameter("action");
            if (action.equals("add")) //add button clicked
            {
               //do your work here
            }
            else if (action.equals("edit")) //delete button clicked
            {
                //your work here
            }
}
于 2012-04-13T17:40:30.920 回答
0

创建一个表单,设置不同的提交按钮值,并让您的脚本根据按下的按钮执行不同的操作。

if (isset($_POST) {
    if ($_POST['button'] == 1) {
     /* BUTTON ONE PRESSED, INSERT PROCESSING HERE*/
    } else if ($_POST['button'] == 2) {
     /* BUTTON TWO PRESSED, INSERT PROCESSING HERE*/
    } else {
     /* NO BUTTON PRESSED, (THIS ELSE STATEMENT MAY NOT BE NEEDED) */
    }

/** END OF PHP CODE **/
<--! start of html -->
<html>
<form method="get" action="<?php echo "$server['php_self']; ?>" target="new">
  <button type="submit" name="button" value="1">Button One</button>
  <button type="submit" name="button" value="2">Button Two</button>
</form>​​​​​​​​​​​​​​​​​​​​​​​​​​
</html>
于 2012-04-12T01:59:13.660 回答
0

虽然答案可能会迟到。这完美地工作。在您的 HTML 中使用以下内容。

<form action="/route" method="POST">
    <button name="submit" value="ONE">
    <button name="submit" value="TWO">
</form>

然后在你的 Python(Flask) 中使用这个

if request.form['submit'] == 'ONE':
    print('button one clicked')
elif request.form['submit'] == 'TWO':
    print('button two clicked')
于 2018-04-01T19:01:08.767 回答