表单上的多个提交按钮
Multiple submit buttons on a form
可能的重复项:
HTML 表单中的多个提交按钮
正如您在页面底部看到的那样,我已经整理了这个表单,它允许用户添加和删除与主记录关联的图像文件。
我遇到的问题是有多个按钮后面有一个"提交">操作,即:"上传此文件"、"删除所选图像"、"查看所选图像"和"提交",因此,我使用的按钮无关紧要,唯一执行的操作是完整的记录提交。
如何确保每个按钮背后的"提交"操作彼此独立工作?
不需要
为每个按钮使用单独的窗体。您可以在提交按钮的"名称"中使用不同的值。然后在服务器上,您可以检查"form_action"的值
例:
<input name="form_action[delete]" type="submit" value="Delete">
<input name="form_action[update]" type="submit" value="Update">
根据需要放置任意数量的这些按钮。在服务器上,检查 $_POST['form_action']
的值。
如果你把每个按钮放在一个单独的<form></form>
应该没问题。这在您当前的设置中可能是可能的。
假设您不能执行上述操作:
形式:
<form name='myForm'>
<input type='hidden' id='hiddenSubmit' name='hiddenSubmit' value=''/>
<!-- Lots of fields here -->
<input type='button' name='action1' onclick='changeHiddenSubmit(this.name)'/>
<!-- Some more fields -->
<input type='button' name='action2' onclick='changeHiddenSubmit(this.name)'/>
// etc...
</form>
JavaScript:
<script>
function changeHiddenSubmit(name){
document.getElementById('hiddenSubmit').value = name;
document.myForm.submit();
}
</script>
.PHP:
<?php
switch($_POST['hiddenSubmit'){
case 'action1':
break;
case 'action2':
break;
}
?>
如果你给你的提交按钮一个唯一的name
,你可以在服务器端告诉他们点击了哪一个(导致提交表单(。
试试这个例子:
<?php
if (isset($_POST['b1'])) {
echo 'Button 1 was pressed.';
}
if (isset($_POST['b2'])) {
echo 'Button 2 was pressed.';
}
if (isset($_POST['b3'])) {
echo 'Button 3 was pressed.';
}
?>
<form action="" method="post">
<input type="submit" name="b1" />
<input type="submit" name="b2" />
<input type="submit" name="b3" />
</form>
相关文章:
- 带有验证和隐藏字段值的提交按钮
- 如何在 API 调用后和 if 语句中启用提交按钮
- 提交按钮,该按钮位于使用 Excel VBA 的 Javascript 中
- 如何使用提交按钮搜索表中的记录
- 在单击按钮前后禁用提交按钮
- 在表单完成并确认密码之前,请禁用提交按钮
- 如何使用Java脚本创建提交按钮's的拖放功能
- 如何在单击“提交”按钮时为“新建”窗口编写JavaScript,用“确定”和“取消”显示注册信息
- 提交按钮通过JQuery和JavaScript函数所做的更改不会持续
- 从输入时提交到jQuery,无需提交按钮,无需表单操作
- onclick提交按钮JSP
- 通过提交按钮传递值
- 如果ng单击附加到提交按钮,则表单未验证
- 如何在Razor MVC 5.2.3 Ajax中使用多个提交按钮
- 使用提交按钮隐藏未选中的单选按钮
- Ruby/JS如何在提交按钮后重新加载页面
- JavaScript表单提交没有't fire asp服务器端点击功能的提交按钮
- 使用javascript后,提交按钮不起作用
- 如何使用jQuery/Ajax响应特定的提交按钮
- 表单中的提交按钮在 PHP 打印中不起作用