2016-09-22 20 views
0

フレンズ私は送信ボタンをクリックすると同時にフォームを送信しています。同時に私は送信されたデータをモーダルに表示しています。 、データが提出され、データが送信されたばかりのモーダルが表示されます。コードはすべて問題なく動作しますが、データがモーダルに表示されないという唯一の問題です。ここ はここでフォーム -mysqlデータベースから取得したモーダルのフィールドにデータを表示するには

$("#savep").click(function(e){ 
     e.preventDefault(); 

     formData = $('form.pform').serialize() + '&' 
     + encodeURI($(this).attr('name')) 
     + '=' 
     + encodeURI($(this).attr('value')); 

      $.ajax({ 
       type: "POST", 
       url: "data1_post.php", 
       data: formData, 
       success: function(msg){ 
       $('input[type="text"], textarea').val(''); 
       $('#entrysavedmodal').modal('show'); 


       }, 
       error: function(){ 
       alert("failure"); 
       } 
      }); 
    }); 

を提出するためのコードは、私が提出上のクリックボタン -

<div id="entrysavedmodal" class="modal fade" role="dialog"> 
    <div class="modal-dialog" style="width:1000px;"> 

    <!-- Modal content--> 
    <div class="modal-content"> 
     <div class="modal-header"> 
     <button type="button" class="close" data-dismiss="modal">&times;</button> 
     <h4 class="modal-title"><span class="glyphicon glyphicon-plus"></span> Saved Entry</h4> 
     </div> 
     <div class="modal-body"> 
     <form class="form-horizontal savedform" id="savedform"> 
    <div class="form-group"> 
     <label class="control-label col-xs-2">Date:</label> 
     <div class="col-xs-4"> 
     <input type="text" class="form-control" id="datepreview" name="datepreview" 
      value = "<?php 
        include('db.php'); 
        $sql = "SELECT `date` FROM tran ORDER BY id DESC limit 1"; 
        $result = mysqli_query($conn,$sql); 
        $rows = mysqli_fetch_assoc($result); 
        $date = $rows['date']; 
        echo $date; 

        ?>" readonly /> //this field does not show anything and none of the fields show any data. 
     </div> 

     <label class="control-label col-xs-2">v_no:</label> 
     <div class="col-xs-4"> 
     <input type="text" class="form-control" id="v_nopreview" name="v_no" autocomplete="off" readonly /> //same problem 
     </div> 

    </div> 
    </form> 
     </div> 
     <div class="modal-footer"> 
     <button type="button" class="btn btn-info" id="print" name="print" >Print</button> 

     <button type="button" class="btn btn-danger" data-dismiss="modal">Close</button> 
     </div> 
    </form> 
    </div> 
</div> 
</div> 
</div> 

日付フィールドは、データベースとv_nopreviewフィールドから日付値を示していないときに表示されますモーダルであります何も表示されません。 私は可能な限り多くの詳細を提供しようとしましたが、何か必要な場合には私に教えてください。データがモーダルの入力フィールド内に表示されない理由を教えてください。 ありがとうございます。 編集部分 は、ここで私は理解したよう

<?php 
include('db.php'); 
$sql = "INSERT INTO `table1` (`date`, `v_no`, `name`,`narration`,`stk_y_n`) 
     VALUES ('".$_POST['date']."','".$_POST['v_no']."', '".$_POST['user']."','".$_POST['narration']."', 'No')"; 
if ($conn->query($sql) === TRUE){ 
echo "saved"; 
} 
else 
{ 
echo "not saved"; 
} 
?> 

答えて

0

コード - data1_post.phpである、あなたはjsのイベントの後に毎回PHPコードの実行を期待しています。しかし、PHPはサーバーサイドの言語です。ページをリクエストすると、それは一度だけ解釈されます。

あなたのPHPコードは、リフレッシュ後にいくつかのコンテンツフォームDBをロードしてから、モデルを表示する前に入力値をクリアし、再度実行できないので、空のモーダルが表示されます。 私はあなたが保存したデータを提示したい場合は、PHPコードは以下の

ようになり、成功コールバックで

UPDATE

それを「data1_post.php」から保存したデータを返すことをお勧めしてプロセスより

include('db.php'); 

$response = ["success" => false]; 
$sql = "INSERT INTO `table1` (`date`, `v_no`, `name`,`narration`,`stk_y_n`) 
     VALUES ('".$_POST['date']."','".$_POST['v_no']."', '".$_POST['user']."','".$_POST['narration']."', 'No')"; 
if ($conn->query($sql) === TRUE){ 
    $sql = "SELECT `date` FROM tran ORDER BY id DESC limit 1"; 
    $result = mysqli_query($conn,$sql); 
    $rows = mysqli_fetch_assoc($result); 
    $response = ["success" => true, "date" => $rows['date']]; 
} 

header('Content-type: application/json'); 
echo json_encode($response); 

とJS私は入力をクリアしてはならないことだと

$("#savep").click(function(e){ 
    e.preventDefault(); 

    formData = $('form.pform').serialize() + '&' 
     + encodeURI($(this).attr('name')) 
     + '=' 
     + encodeURI($(this).attr('value')); 

    $.ajax({ 
     type: "POST", 
     url: "data1_post.php", 
     data: formData, 
     success: function(response){ 
      $('input[type="text"], textarea').val(''); 

      if (response.success) { 
       $('#datepreview').val(response.date); 
       $('#entrysavedmodal').modal('show'); 
      } else { 
       alert("failure"); 
      } 
     }, 
     error: function() { 
      alert("failure"); 
     } 
    }); 
}); 
+0

OHKは、はい私は削除した場合明確な入力部分は、それは絶対にうまく動作しますが、フォームが提出されたのでフォームから入力をクリアしたいので、何をお勧めしますか? –

+0

@payal_sutharあなたはdata1_post.phpの内容を質問に追加してもらえますか?これについての完全な解決策を書いてください –

+0

私はその戻り値を試してから成功したコールバックでデータを処理していますが、うまく機能しませんでした。 –

関連する問題