2016-03-27 22 views
1

ブートストラップのモーダルダイアログを使用して問題が発生しました。 これは私のコードです:idボタンを正しく表示するには、モーダルダイアログを開くだけではなく、うまくいきません。常に空白を表示します。 「ボタン」を「submit」に変更すると、idは正しく表示されますが、モーダルダイアログは表示されません。どうしたの??注目してくれてありがとう。これは私のコードです:ブートストラップModalサブミットID値が表示されないときのダイアログ

<table class="table table-bordered"> 
    <tr> 
     <td> <input type="checkbox" id="box1" name="box1"> <b>Seleziona tutto</b></td> 
     <td> <b>Pratica</b> </td> 
     <td> <b>Filiale</b> </td> 
    </tr> 
    <?php 
     $query = mysql_query("SELECT * from plprat ") ; 
     while ($row = mysql_fetch_array($query)) { 
     echo "<tr>"; 
     echo "<td><input type='checkbox' class='box' name='box[]' value=".$row['id']."></td>"; 
     echo "<td>" . $row['pratica'] . "</td>"; 
     echo "<td>" . $row['filiale'] . "</td>"; 
     //echo "<td><form method='POST' action='Cancella.php'><button type='submit' name='Cancella' class='btn btn-default' value=".$row['id'].">Cancella</button></form></td>"; 
     echo "<td><form method='GET'><button type='button' id='modifica' name='modifica' data-toggle='modal' data-target='#myModal' class='btn btn-default' value=".$row['id'].">Modifica</button></form></td>"; 
     echo "</tr>"; 
     } 
    ?> 
    </table> 
<!-- Modal --> 
    <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"> 
    <div class="modal-dialog" role="document"> 
     <div class="modal-content"> 
     <div class="modal-header"> 
      <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button> 
      <h4 class="modal-title" id="myModalLabel">Modifica dati</h4> 
     </div> 

      <div class="modal-body"> 
      <?php 
       $id = $_GET['modifica']; 
       echo $id; 
       $query = mysql_query("SELECT * FROM plprat WHERE id = $id"); 
       while ($row = mysql_fetch_array($query)) { 
      ?> 
       <b>Pratica</b> <input type="text" id="pratica" name="pratica" value="<?php echo $row['pratica']; ?>"> 
       <b>Filiale</b> <input type="text" id="filiale" name="filiale" value="<?php echo $row['filiale']; ?>"> 
      <?php 
       } 
      ?> 
      </div> 
      <div class="modal-footer"> 
      <button type="button" class="btn btn-default" data-dismiss="modal">Chiudi</button> 
      <button type="submit" id="salva" name="salva" class="btn btn-primary">Modifica</button> 
      </div> 

     </div> 
    </div> 
    </div> 
+0

おそらく、あなたは 'modifica'というidを持つ複数のボタンを持っています。 'id = 'modifica _"。$ row [' id ']。 "''のような一意の名前に変更してください。また、なぜボタンを 'form'で囲んでいるのですか? –

答えて

1

この動作は、コード化されたものです。何が起こっているのかを説明しましょう。

なぜこれが機能しないのですか?

モーダルボタンをフォームに配置しますが、モーダルではフォームを使用しません。 モーダルボタンを送信に変更すると、モーダルボタンをクリックすると送信されますが、モーダルが開いていなくても、ページは既にフォームを送信しています。
あなたのモーダルには<form>が含まれていないので、保存ボタンは<form>にはなく、何も送信しません。

これを修正するにはどうすればよいですか?

最初にモーダルボタンをラップするフォームタグを削除しても、それは役に立たないです。 .modal-contentの子としてフォームタグを直接入力し、必要な入力データを入力します。

どうすればよろしいですか? PHPで

  • は、あなたが理由もなく、あまりにも多くの反響を使用して 遅くなっている、複数行を表示するために一つだけのエコーを使用しています。
  • 自分の言語を避けてください(英語でない場合は明らかに)、他の人がもっとアクセシブルにすると、より価値のあるものになります。
  • モーダルを動的に入力してください。
  • JSON data into a Bootstrap modal
  • DBMS用にPHPフレームワークまたは少なくともライブラリを使用してください。
関連する問題