javascript - 单个页面中的两个表单,并使用 Codeigniter 使用 Bootstrap 模式

标签 javascript jquery forms codeigniter modal-dialog

$('#form1').on('click',function(e){
        e.preventDefault();
        $('#emailModal').modal("show"); // open the modal
        });
     
     $(document).on('click','#sendEmail',function(){
         $('#UpdateEmailModal').modal("show"); // open the modal
      }
      });
      $(document).on('click','#UpdateSendEmail',function(){
          $('#form1method').submit();
      });

      $(document).on('click','#Update_Close',function(){
          $('#form2method').submit();
      });

      $(document).on('click','#Close',function(){
          window.location = "<?php echo base_url(); ?>controller/page_method";
      });
<!--Form 1-->

<form action="<?php echo base_url(); ?>mycontroller/method1" method="post" id="form1method">
<input type="text" name="name">
<input type="email" name="email">
<button type="submit" id="form1">Submit</button>
</form>

<!--Form 2 -->
<form action="<?php echo base_url(); ?>mycontroller/method2" method="post" id="form2method">
<input type="text" name="name">
<input type="email" name="email">
<button type="submit" id="form2">Submit</form>
</form>

<!--Modal 1 -->
  <!--Email Modal -->
<div id="emailModal" class="modal fade" role="dialog">
  <div class="modal-dialog">
    <!-- Modal content-->
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal">&times;</button>
        <h4 class="modal-title">Send Email to User</h4> 
      </div>
      <div class="modal-body">
           <label class="col-md-3">To Email</label>
         <div class="form-group col-md-9">
            <input type="email" class="form-control" name="email_id" id="email_id" placeholder="Email ID">
          </div>
          <label class="col-md-3">Message</label>
          <div class="form-group col-md-9">
            <textarea name="message" id="message" class="form-control" placeholder="Message"></textarea>
          </div>
      </div>
      <div class="modal-footer">
        <button type="submit" class="btn btn-info btn-block" id="sendEmail"><strong>Update</strong></button>
  <button  class="btn btn-danger pull-right btn-block" data-dismiss="modal" id="Close"><strong>Close</strong></button>
   </div>
  </div>
  </div>
</div>

<!--Modal 2 -->
    <!--Email Status and Update Modal -->
<div id="UpdateEmailModal" class="modal fade" role="dialog">
  <div class="modal-dialog">
    <!-- Modal content-->
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal">&times;</button>
        <h4 class="modal-title">Update Form</h4>
      </div>
      <div class="modal-body">
        <p>Click Submit to Update and Send Email (or) Click Cancel to Update</p>
      </div>
      <div class="modal-footer">
        <button type="submit" class="btn btn-info btn-block" id="UpdateSendEmail"><strong>Submit</strong></button>  
  <button  class="btn btn-danger pull-right btn-block" data-dismiss="modal" id="Update_Close"><strong>cancel</strong></button>
   </div>
  </div>
  </div>
</div>

enter code here
    <?php
    *//My Controller*
     public function method1(){
      $result = $this->model->update_model();
      if($result == true){
      $this->session->set_flashdata("msg","post_page");
      redirect("post_page");
    }}
    public function method2(){
     $result = $this->model->update_model2();
     if($result == true){
     $this->session->set_flashdata("msg","post_page");
     redirect("post_page");
   }}

   *`//My Model`*
   public function update_model(){
     $data = array(
      'name' => $this->input->post("name"),
      'email' => $this->input->post("email")
    );
     $this->db->update('user',$data);
    }

   public function update_model2(){
     $data = array(
      'name' => $this->input->post("name"),
      'email' => $this->input->post("email"),
      'status' => "1"
     );
   $this->db->update('user',$data);
    }
   ?>

当单击编辑表单时,将打开编辑页面,因为我有两个表单(Form1 和 Form2)。一页中只能出现一个表单。当我单击 Form1 的提交时,将打开 Modal1,单击“更新”按钮时,将打开 Modal2。基于 Modal2 中的两个按钮(提交和取消),应该会发生响应。就像如果我单击 Controller 中的“提交”方法2 应该执行,否则如果我单击方法1 应该执行。在 Controller 中如何做到这一点?我不知道我这样做是否正确。如果你们有任何想法可以解决这个问题,请帮助我。

提前致谢

最佳答案

您可以为每个提交按钮指定不同的名称。因此,当您按下提交按钮时,就像在 form1 中一样,form1submit_btn ,页面重新加载并简单地检查帖子输入:

您按钮

<button type="submit" name="form1submit_btn" class="btn btn-info btn-block" id="sendEmail"><strong>Update</strong></button>

您的两个表单操作具有相同的操作 action="<?base_url("myController/method")?> ,然后直接在 Controller 中处理它们:

function method(){
    //form 1 has been submit
    if($this->input->post("form1submit_btn")){

        $result = $this->model->update_model();
        if($result == true)
            $this->session->set_flashdata("msg","post_page");

    }

    //form 2 has been submit
    if($this->input->post("form2submit_btn")){

        $result = $this->model->update_model2();
        if($result == true)
            $this->session->set_flashdata("msg","post_page");

    }

    redirect("post_page");

}

关于javascript - 单个页面中的两个表单,并使用 Codeigniter 使用 Bootstrap 模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48437293/

相关文章:

javascript - While循环: Generated table rows and column inconsistency

javascript - 用于测试多个输入是否已完成的 if 语句

javascript - 如何使用 AJAX GET 处理表单输入

javascript - 使用 JavaScript 获取远程代码/文本?

javascript - React-ClickDrag 子组件回调

javascript - 如何在 Yii2 Gridview 中自定义默认数据确认对话框

Javascript - 拒绝从 URL 执行脚本,因为它的 MIME 类型 ('application/json' ) 不可执行,并且启用了严格的 MIME 类型检查

javascript - 捕获Javascript触发的Submit事件

javascript - 如何让我的 js 文件同时适用于 ES6 模块和普通 js?

javascript - ace 编辑器 - 移动到行尾