如何在 Bootstrap 中将双按钮设为 "fire"
How to get Double Buttons to "fire" in Bootstrap
我有一个带有双按钮 (2) 的 Bootstrap 表单,如下所示。
submit button
触发并 return 处理页面(即 ['PHP_SELF'])
- 然而,
cancel button
什么都不做
我怎样才能同时触发按钮和 return 处理页面?
<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 开发人员会想到的马上知道缺少什么:
<?php
//This is Server-Side
if( $_POST['cancel'] ) {
echo 'cancel button pressed';
}
elseif( $_POST['submit'] ) {
echo 'submit button pressed';
}
?>
这里的问题是您在同一页面上使用所有内容,HTML 表单和 PHP.
失败的原因是您需要对两个 POST 数组使用 isset()
。
<?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,那就是需要的"firing"机制类型。
如果想return到处理页面,可以使用header重定向或者meta刷新或者JS解决。
在 Stack 上参考以下内容进行重定向:
- How to make a redirect in PHP?
另一种选择是为您的两个按钮赋予相同的名称属性,并执行以下操作:
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上的这个答案借来的
您可以将输入类型替换为按钮并使用 <button type="submit" ...>
您在 HTML 和 PHP 知识方面有基本问题,但在 bootstrap 方面没有。
在 post 之前搜索 SO:Two submit buttons in one form
应标记为重复。
我有一个带有双按钮 (2) 的 Bootstrap 表单,如下所示。
submit button
触发并 return 处理页面(即 ['PHP_SELF'])- 然而,
cancel button
什么都不做
我怎样才能同时触发按钮和 return 处理页面?
<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 开发人员会想到的马上知道缺少什么:
<?php
//This is Server-Side
if( $_POST['cancel'] ) {
echo 'cancel button pressed';
}
elseif( $_POST['submit'] ) {
echo 'submit button pressed';
}
?>
这里的问题是您在同一页面上使用所有内容,HTML 表单和 PHP.
失败的原因是您需要对两个 POST 数组使用 isset()
。
<?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,那就是需要的"firing"机制类型。
如果想return到处理页面,可以使用header重定向或者meta刷新或者JS解决。
在 Stack 上参考以下内容进行重定向:
- How to make a redirect in PHP?
另一种选择是为您的两个按钮赋予相同的名称属性,并执行以下操作:
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上的这个答案借来的
您可以将输入类型替换为按钮并使用 <button type="submit" ...>
您在 HTML 和 PHP 知识方面有基本问题,但在 bootstrap 方面没有。
在 post 之前搜索 SO:Two submit buttons in one form
应标记为重复。