2017-07-13 5 views
0

に掲載されていない、私はそれが唯一の入力タイプ=「送信」値は、ブートストラップモーダル

print_r $_POST 

PHPコントローラで次の手順を実行したとき、私は、ブートストラップモーダルウィンドウの次のHTMLコードを

<div id="userModal" class="modal fade"> 
    <div class="model-dialog"> 
     <form method="post" id="user_form"> 
      <div class="modal-content"> 
       <div class="modal-header"> 
        <button type="button" class="close" data-dismiss="modal">&times;</button> 
        <h4 class="modal-title">Add User</h4> 
       </div> 
       <div class="modal-body"> 
        <label>Enter First Name</label> 
        <input type="text" name="first_name" id="first_name" class="form-control" /> 
        <br /> 
        <label>Enter Last Name</label> 
        <input type="text" name="last_name" id="last_name" class="form-control" /> 
        <br /> 
        <label>Enter Email</label> 
        <input type="text" name="email" id="email" class="form-control" /> 
       </div> 
       <div class="modal-footer"> 
        <input type="submit" name="action" class="btn btn-success" value="Add" /> 
        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> 
       </div> 
      </div> 
     </form> 
    </div> 
</div> 

を持っていますfirst_name、last_name、およびemailが表示されます。

動作していません。だからアクションは投稿されていません。なぜですか?

EDIT これは私の全体図である..私はAjaxのCRUDと

<html> 
    <head> 
     <title><?php echo $title; ?></title> 
     <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" /> 
     <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script> 
     <script src="https://cdn.datatables.net/1.10.12/js/jquery.dataTables.min.js"></script> 
     <script src="https://cdn.datatables.net/1.10.12/js/dataTables.bootstrap.min.js"></script> 
     <link rel="stylesheet" href="https://cdn.datatables.net/1.10.12/css/dataTables.bootstrap.min.css" /> 
     <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script> 

     <style> 
      body 
      { 
       margin:0; 
       padding:0; 
       background-color:#f1f1f1; 
      } 
      .box 
      { 
       width:900px; 
       padding:20px; 
       background-color:#fff; 
       border:1px solid #ccc; 
       border-radius:5px; 
       margin-top:10px; 
      } 
     </style> 
    </head> 

    <body> 
     <div class="container box"> 
      <h3 align="center"><?php echo $title; ?></h3><br /> 
      <div class="table-responsive"> 
       <br /> 
       <button type="button" data-toggle="modal" data-target="#userModal" class="btn btn-info btn-lg">Add</button> 
       <br /><br /> 
       <table id="user_data" class="table table-bordered table-striped"> 
        <thead> 
         <tr> 
          <th width="20%">First Name</th> 
          <th width="20%">Last Name</th> 
          <th width="40%">Email</th> 
          <th width="10%">Edit</th> 
          <th width="10%">Delete</th> 
         </tr> 
        </thead> 
       </table> 
      </div> 
     </div> 
    </body> 
</html> 

<div id="userModal" class="modal fade"> 
    <div class="model-dialog"> 
     <form method="post" id="user_form"> 
      <div class="modal-content"> 
       <div class="modal-header"> 
        <button type="button" class="close" data-dismiss="modal">&times;</button> 
        <h4 class="modal-title">Add User</h4> 
       </div> 
       <div class="modal-body"> 
        <label>Enter First Name</label> 
        <input type="text" name="first_name" id="first_name" class="form-control" /> 
        <br /> 
        <label>Enter Last Name</label> 
        <input type="text" name="last_name" id="last_name" class="form-control" /> 
        <br /> 
        <label>Enter Email</label> 
        <input type="text" name="email" id="email" class="form-control" /> 
       </div> 
       <div class="modal-footer"> 
        <button type="submit" name="action" class="btn btn-success" value="Add">Add</button> 
        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> 
       </div> 
      </div> 
     </form> 
    </div> 
</div> 

<script type="text/javascript" language="javascript" > 
$(document).ready(function(){ 
     var dataTable = $('#user_data').DataTable({ 
      "processing":true, 
      "serverSide":true, 
      "order":[], 
      "ajax":{ 
       url:"<?php echo base_url() . 'crud/fetch_user'; ?>", 
       type:"POST" 
      }, 
      "columnDefs":[ 
       { 
        "targets":[0, 3, 4], 
        "orderable":false, 
       }, 
      ], 
     }); 

     $(document).on('submit', '#user_form', function(event){ 
      event.preventDefault(); 
      var firstName = $('#first_name').val(); 
      var lastName = $('#last_name').val(); 
      var email = $('#email').val(); 
      function isValidEmailAddress(emailAddress) { 
      var pattern = /^([a-z\d!#$%&'*+\-\/=?^_`{|}~\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+(\.[a-z\d!#$%&'*+\-\/=?^_`{|}~\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+)*|"((([ \t]*\r\n)?[ \t]+)?([\x01-\x08\x0b\x0c\x0e-\x1f\x7f\x21\x23-\x5b\x5d-\x7e\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]|\\[\x01-\x09\x0b\x0c\x0d-\x7f\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))*(([ \t]*\r\n)?[ \t]+)?")@(([a-z\d\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]|[a-z\d\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF][a-z\d\-._~\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]*[a-z\d\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])\.)+([a-z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]|[a-z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF][a-z\d\-._~\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]*[a-z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])\.?$/i; 
      return pattern.test(emailAddress); 
      }; 

      if(!isValidEmailAddress(email)){ 
       alert("Invalid Email Address"); 
       return false; 
      } 

      if(firstName!='' && lastName!=''){ 
       $.ajax({ 
        url:"<?php echo base_url() . 'crud/user_action'?>", 
        method:"POST", 
        data:new FormData(this), 
        contentType:false, 
        processData:false, 
        success:function(data){ 
         alert(data); 
         $('#user_form')[0].reset(); 
         $('#userModal').modal('hide'); 
         dataTable.ajax.reload(); 
        } 
       }); 
      } 

      else{ 
       alert("Both first name and last name are required"); 
      } 
     }); 
}); 
</script> 
+0

同等のボタンに置​​き換えましたか? – Bernhard

+0

AJAXを使用していますか?あなたのコードを投稿してください。 –

+0

@Bernhardあなたはを追加しようとしました。まだ投稿していない –

答えて

1

をDataTableに使用していますあなたは...

<form method="post" id="user_form" action='some_action'> 

そして、あなたは印刷のようなフォームタグでアクションを使用する必要があります$ _POSTあなたはその中でアクションを見ることはありません。

+0

HTML5では、アクション属性もはや必要ではありません。デフォルトは空のURLです(PHPスクリプトの場合はselfを指します)。また、 'jquery'タグに気付くと、AJAXを使うことができます。 –

0

確かにこれは、これに代えて

<div id="userModal" class="modal fade"> 
<div class="model-dialog"> 
    <form method="post" id="user_form" action="url"> 
     <div class="modal-content"> 
      <div class="modal-header"> 
       <button type="button" class="close" data-dismiss="modal">&times;</button> 
       <h4 class="modal-title">Add User</h4> 
      </div> 
      <div class="modal-body"> 
       <label>Enter First Name</label> 
       <input type="text" name="first_name" id="first_name" class="form-control" /> 
       <br /> 
       <label>Enter Last Name</label> 
       <input type="text" name="last_name" id="last_name" class="form-control" /> 
       <br /> 
       <label>Enter Email</label> 
       <input type="text" name="email" id="email" class="form-control" /> 
      </div> 
      <div class="modal-footer"> 
       <input type="submit" name="submit_action" class="btn btn-success" value="Add" /> 
       <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> 
      </div> 
     </div> 
    </form> 
</div> 

0

に動作します。

   $.ajax({ 
       url:"<?php echo base_url() . 'crud/user_action'?>", 
       method:"POST", 
       data:new FormData(this), 
       contentType:false, 
       processData:false, 
       success:function(data){ 
        alert(data); 
        $('#user_form')[0].reset(); 
        $('#userModal').modal('hide'); 
        dataTable.ajax.reload(); 
       } 
      }); 

そのようにしてください。

  var data = 'firstName='+ firstName & 'lastname='+ lastname 
      & 'email='+ email; 
      $.ajax({ 
       url:"<?php echo base_url() . 'crud/user_action'?>", 
       method:"POST", 
       data:data, 
       contentType:false, 
       processData:false, 
       success:function(data){ 
        alert(data); 
        $('#user_form')[0].reset(); 
        $('#userModal').modal('hide'); 
        dataTable.ajax.reload(); 
       } 
      }); 
+0

は私がこれを行うときに空の配列を示します –

+0

まず、これらの変数が本当に値を設定しているか、それでも空であることをコンソールにしようとしますか? –

関連する問題