2016-10-02 3 views
-1

jqueryフォームを複数送信することを試みていますが、選択後にロードされません。 グリッドがあります(2x2としましょう)。私はセルをクリックし、jqueryフォームから自分の名前を記入します。私は提出をクリックし、私の名前は、PHPを介してセルに表示されます。しかし、別のセルをクリックすると、ポップアップウィンドウは表示されません。ページを再ロードせずにJQueryフォームを複数回送信する

jsfiddle(https://jsfiddle.net/7j7wxrpu/)に簡略化したコードを追加しました。

あなたはセルをクリックした後、私のフォームがポップアップウィンドウで、そこから見ることができます:

<table border=1> 
<tr><td colspan="11"><center><h2>Away Team</h2></center></td></tr> 
     <tr><th class='header-cols'></th><th class='header-cols'><h1>0</h1></th><th class='header-cols'><h1>1</h1></th></tr><tr><th class='header-rows'><h1>0</h1></th><td class='grid-cells'> 
        <a href='#myPopup' data-rel='popup'> 
         <div id='cell' onclick='setCoords(0,0);'> 
          <div class='grid-num'>1</div> 
          <div class='grid-name'>justin9</div> 
         </div> 
        </a> 
        </td><td class='grid-cells'> 
        <a href='#myPopup' data-rel='popup'> 
         <div id='cell' onclick='setCoords(1,0);'> 
          <div class='grid-num'>2</div> 
          <div class='grid-name'>justin10</div> 
         </div> 
        </a> 
        </td></tr><tr><th class='header-rows'><h1>1</h1></th><td class='grid-cells'> 
        <a href='#myPopup' data-rel='popup'> 
         <div id='cell' onclick='setCoords(0,1);'> 
          <div class='grid-num'>3</div> 
          <div class='grid-name'></div> 
         </div> 
        </a> 
        </td><td class='grid-cells'> 
        <a href='#myPopup' data-rel='popup'> 
         <div id='cell' onclick='setCoords(1,1);'> 
          <div class='grid-num'>4</div> 
          <div class='grid-name'></div> 
         </div> 
        </a> 
        </td></tr></table> 

<div data-role="popup" id="myPopup" class="ui-content" style="min-width:250px;"> 
    <form method="post" action=""> 
    <div> 
     <h3>Pick This Square:</h3> 
     <label for="name" class="ui-hidden-accessible">Name:</label> 
     <input type="text" name="name" id="name" placeholder="Name"> 
     <label for="email" class="ui-hidden-accessible">Email:</label> 
     <input type="text" name="email" id="email" placeholder="Email"> 
     <input type="submit" data-inline="true" value="Submit"> 
     <!--<input type='hidden' name='row' value=''> 
<input type='hidden' name='col' value=''>--> 
     <div id='row-div'></div> 
     <div id='col-div'></div> 
    </div> 
    </form> 
</div> 

そして、ここでは、ファイルからの呼び出しPHPで:

<?php 
    include_once 'connectmysql.php'; 

    if(!isset($_POST['name']) || !isset($_POST['email'])){ 
     //fail because one is blank 
     echo "Failed the POSt data: Name: " . $_POST['name'] . " | Email: " . $_POST['email']; 
    } 
    else{ 
     $name = $_POST['name']; 
     $email = $_POST['email']; 
     $row = $_POST['row']; 
     $col = $_POST['col']; 
     $tstamp = date("Y-m-d_H:i:s"); 
     //Write to the sql db 
     $conn = ConnectMySQL(); 
     $sql = "INSERT INTO picks (name,email,paid,row,col,tstamp) VALUES('$name','$email',0,$row,$col,'$tstamp')"; 
     if ($conn->query($sql) === TRUE) { 
      echo "New record created successfully"; 
     } else { 
      echo "Error: " . $sql . "<br>" . $conn->error; 
     } 
    } 
?> 

ほか私のPHPのセキュリティの不足は何か私は行方不明ですか?ページを更新するまで、ポップアップボックスは一度ポップアップするだけです。私はまた、サーバーに "post"データを再送信しようとするページを更新するときに気付きます。送信後に投稿データを消去する必要があるようですが、それは問題ですか?

+0

ajax呼び出しまたはポップアップのどちらも担当しないコードは表示されません。あなたの質問にすべての関連コードを投稿してください。 –

+0

テーブルからコードを追加しました – Webtron

答えて

0

ページをリロードせずに行うには、データベースに新しいデータを挿入してデータベースに再度クエリし、新しい値をJavaScriptに送信してからJavaScriptを使用して変更するPHPスクリプトをAJAX呼び出しで使用する必要があります。セルの値。

また、IDの変更名 - 固有の名前cell1、cell2を持つ必要があります。

関連する問題