【问题标题】:Styling Codeigniter's form_submit for Bootstrap Button Group为 Bootstrap 按钮组设置 Codeigniter form_submit 样式
【发布时间】:2023-04-01 22:07:02
【问题描述】:

我正在使用 Codeigniter 开发博客应用程序。它的风格取决于 Bootstrap 3。我创建了一个表格来显示用户的文章。我还创建了一行来对那篇文章采取行动。我使用form_submit() codeigniter 表单助手的功能创建了一个表单提交按钮。但正如我所说的它是一个按钮组,所以我还有两个按钮(一个在它之前,一个在它之后)。我想将此表单提交样式设置为按钮组的按钮,但现在它看起来像全新的按钮。这是我的代码。 这是我的全貌。

<?php
include_once('admin_header.php');
?>
<div class="container">
<div class="row">
    <?= anchor('admin/store_article', 'Add Post', ["class"=>"btn btn-primary btn-large pull-right"]); ?>
</div>
<?php
if ($feedback = $this->session->flashdata('feedback')) :
$feedback_class = $this->session->flashdata('feedback_class'); ?>
<br>
<br>
<br>
<div class="alert alert-dismissible <?= $feedback_class ?>">
  <?= $feedback ?>
</div>
<?php endif; ?>
<div class="table-responsive">
<table class="table table-striped table-hover ">
  <thead>
    <tr>
      <th>Sr NO.</th>
      <th>Article</th>
      <th>Actions</th>
    </tr>
  </thead>
  <tbody>
  <?php
  if(count($articles)):
    $count = $this->uri->segment(3, 0);
      foreach ($articles as $article):
      ?>
    <tr>
      <td><?= ++$count ?></td>
      <td>
      <?= $article->title; ?>
      </td>
      <td>
      <div class="btn-group">
      <?= anchor("plogi/article/{$article->id}", 'View', ['class'=>'btn btn-success']) ?>
      <?= anchor("admin/edit_article/{$article->id}", "Edit", ["class"=>"btn btn-primary"]); ?>
      <?= 
       form_open('admin/delete_article', ['class'=>'form-horizontal danger']);
          echo form_hidden('article_id', $article->id);
          echo form_Submit(['type'=>'submit', 'value'=>'Delete', 'class'=>'btn btn-danger']);
          echo form_close();
       ?> <div class="btn-group">
    <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
    More <span class="caret"></span></button>
    <ul class="dropdown-menu" role="menu">
      <li><a href="#">Re Share</a></li>
      <li><a href="#">Purge From Cache</a></li>
    </ul>
  </div>
</div></td>
    </tr>
    <?php
    endforeach;
    else: 
    echo "<tr><td colspan='3'>No Records Found</td></tr>";  
  endif;

    ?>
  </tbody>
</table> 
<?= $this->pagination->create_links(); ?>

</div>
</div>
<?php
include_once('admin_footer.php');
?>

这是我的模特。

public function delete_article($article_id)
    {
        return $this->db->delete('articles', ['id'=> $article_id]);
    }

这是我的控制器

public function delete_article()
    {
        $article_id = $this->input->post('article_id');
        $this->load->model('articlesmodel', 'articles');
        if ($this->articles->delete_article($article_id)) {
                $this->session->set_flashdata('feedback', 'Post Deleted Successfully');
                $this->session->set_flashdata('feedback_class', 'alert-success');
            } else {
                $this->session->set_flashdata('feedback', 'Failed To Delete Post, Please Try Again');
                $this->session->set_flashdata('feedback_class', 'alert-danger');
            }
            return redirect('admin/dashboard');
    }

现在看起来像

【问题讨论】:

  • 你想让它们内联吗?
  • 你能做fiddle或bootply吗?
  • @IsmailFarooq 你想让我做什么?

标签: php css twitter-bootstrap codeigniter


【解决方案1】:

我假设您希望按钮组包含 编辑删除更多 按钮,除了 查看按钮。

编辑:调整了 HTML 以对所有按钮进行分组。


代码

<?php
include_once('admin_header.php');
?>
    <div class="container">
        <div class="row">
            <?= anchor('admin/store_article', 'Add Post', ["class"=>"btn btn-primary btn-large pull-right"]); ?>
        </div>
        <?php
        if ($feedback = $this->session->flashdata('feedback')) :
            $feedback_class = $this->session->flashdata('feedback_class'); ?>
            <br>
            <br>
            <br>
            <div class="alert alert-dismissible <?= $feedback_class ?>">
                <?= $feedback ?>
            </div>
        <?php endif; ?>
        <div class="table-responsive">
            <table class="table table-striped table-hover ">
                <thead>
                <tr>
                    <th>Sr NO.</th>
                    <th>Article</th>
                    <th>Actions</th>
                </tr>
                </thead>
                <tbody>
                <?php
                if(count($articles)):
                    $count = $this->uri->segment(3, 0);
                    foreach ($articles as $article):
                        ?>
                        <tr>
                            <td><?= ++$count ?></td>
                            <td>
                                <?= $article->title; ?>
                            </td>
                            <td>
                                <form id="<?= $article->id ?>" action="<?= site_url("admin/delete_article") ?>">
                                    <input type="hidden" name="article_id" value="<?= $article->id ?>">
                                </form>
                                <div class="btn-group">
                                    <a href="#" class="btn btn-info">View</a>
                                    <a class="btn btn-primary" href="<?= site_url("admin/edit_article/{$article->id}") ?>">Edit</a>
                                    <button type="submit" form="<?= $article->id ?>" value="" class="btn btn-danger">Delete</button>
                                    <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
                                        More <span class="caret"></span></button>
                                    <ul class="dropdown-menu" role="menu">
                                        <li><a href="#">Re Share</a></li>
                                        <li><a href="#">Purge From Cache</a></li>
                                    </ul>
                                </div>
                            </td>
                        </tr>
                        <?php
                    endforeach;
                else:
                    echo "<tr><td colspan='3'>No Records Found</td></tr>";
                endif;

                ?>
                </tbody>
            </table>
            <?= $this->pagination->create_links(); ?>

        </div>
    </div>
<?php
include_once('admin_footer.php');
?>


注意事项

  • 我个人尽量避免使用 CodeIgniter 的 HTML 助手(尤其是表单助手)。它们不够健壮,而且我的 IDE 在打开和关闭标签不匹配时出现问题(或者当仅属于表单的元素在表单助手中时 - 它假定这是一个错误)。
  • 表单位于按钮组之外,以免破坏引导程序的 css。但是删除按钮引用了表单的 id,以便在单击时提交表单。


祝你好运!

【讨论】:

  • 不,我希望所有按钮编辑、删除和更多以及查看按钮成为按钮组的一部分。
  • 你不了解删除文章的后端控制器。我需要按照我写的方式来做。但我需要的只是让提交按钮像其他人一样内联。
  • 现在它对我不起作用。 (按钮是内联的,但不能使用此代码删除文章)
  • 请使用更新后的代码更新您的问题。请包括您的表格代码(如果有的话,带有循环)。 @rabisnaqvi
猜你喜欢
  • 1970-01-01
  • 2013-06-12
  • 1970-01-01
  • 1970-01-01
  • 2014-04-06
  • 2010-10-09
  • 1970-01-01
相关资源
最近更新 更多