如何在 Bootstrap 中将双按钮设为 "fire"

How to get Double Buttons to "fire" in Bootstrap

我有一个带有双按钮 (2) 的 Bootstrap 表单,如下所示。

我怎样才能同时触发按钮和 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

应标记为重复。