我有一张表格。我希望它有两个按钮(buttonA,buttonB)。是否有更好的方法来确定单击哪个按钮比保留隐藏的输入字段,并通过onClick()中的javascript将其值设置为每个的不同字符串?
这是本文的演示内容: http://www.java2s.com/Code/Java/JSP/JspformUsingButtons.htm
但这似乎有点奇怪,没有比跳过那些篮球更好的方法了吗?
由于
答案 0 :(得分:6)
您可以使用name
和value
属性来区分表单上的按钮,然后从服务器中读取相应的值。这是一个例子:
<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
。
答案 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')