我有一个带有双按钮 (2) 的 Bootstrap 表单,如下所示。
提交按钮
触发并将处理返回到页面(即['PHP_SELF'])- 但是,
取消按钮
没有任何作用
如何让两个按钮都触发并将处理返回到页面?
<form class="form-horizontal" method="post">
<fieldset>
<legend>My Form<</legend>
<div class="form-group">
<label class="col-md-4 control-label" for="submit"></label>
<div class="col-md-8">
<button id="submit" name="submit" class="btn btn-primary" value="1" type="submit">Update Profile</button>
<button id="cancel" name="cancel" class="btn btn-default" value="0" type="submit">Cancel Update</button>
</div>
</div>
</fieldset>
</form>
附加(根据 @Fred 的线索评论):
向两个按钮添加了 type="submit"
但这并没有使其工作。
这就是答案 - 当您添加 type="submit"
附加: 这是我的服务器端代码,它证明了取消按钮没有任何作用——我认为我不需要证明为什么取消按钮不起作用——只是想经验丰富的 Bootstrap 开发人员会立即知道 bat 缺少什么:
<?php
//This is Server-Side
if( $_POST['cancel'] ) {
echo 'cancel button pressed';
}
elseif( $_POST['submit'] ) {
echo 'submit button pressed';
}
?>
最佳答案
<罢工> 这里的问题是您在同一页面上使用所有内容,HTML 表单和 PHP。
失败的原因是你需要使用isset()
对于您的两个 POST 数组。
<?php
//This is Server-Side
if(isset($_POST['cancel'] )) {
echo 'cancel button pressed';
}
if(isset($_POST['submit'] )) {
echo 'submit button pressed';
}
?>
错误报告会对您有所帮助。
罢工><罢工>罢工>
- 使用
type="submit"
为你的按钮。
此答案基于您使用 HTML 表单和 PHP 发布的内容。如果这里使用 Javascript,那么这就是需要的“触发”机制。
如果想返回处理页面,可以使用 header 重定向或者元刷新或者 JS 解决方案。
有关执行重定向,请参阅 Stack 上的以下内容:
另一种选择是为两个按钮提供相同的名称属性,然后执行以下操作:
HTML
<input type="submit" name="action" value="Update Profile" />
<input type="submit" name="action" value="Cancel Update" />
PHP
if ($_POST['action'] == 'Update Profile') {
//action for update here
} else if ($_POST['action'] == 'Cancel Update') {
//action for delete
} else {
//invalid action!
}
以上内容借自 Stack 上的这个答案 https://stackoverflow.com/a/547848/
您可以将输入类型替换为按钮并使用 <button type="submit" ...>
关于php - 如何在Bootstrap中将双按钮设置为 "fire",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33462413/