一种形式,两个按钮?

时间:2012-04-12 00:58:27

标签: html forms jsp

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

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

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

由于

4 个答案:

答案 0 :(得分: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后,该网址将包含button=1,当然,点击Button 2后,button=2

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

http://jsfiddle.net/M74xN/

答案 1 :(得分:2)

使用jsp和servlet可能的操作是:

在html或jsp页面中

<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
            }
}

答案 2 :(得分: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>

答案 3 :(得分: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')