2017-03-15 9 views
0

トリガーボタンでは動作しません:ブートストラップモーダルは、ライブサーバー

while ($row = mysqli_fetch_array($result)) { 
     $name = $row['name']; 
     $id = $row['id']; 
     echo '<a data-target="#exampleModal" class="wpmui-field-input button wpmui-submit button-primary" data-toggle="modal" data-whatever="'.$name.'">Details</a>'; 
     echo $id . "<br>"; 
    } 

モーダル:

echo' 
<div class="modal fade" id="exampleModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel"> 
    <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="exampleModalLabel">New message</h4> 
     </div> 
     <div class="modal-body"> 
     <form> 
      <textarea class="form-control"></textarea> 
     </form> 
     </div> 
     <div class="modal-footer"> 
     <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> 
     <button type="button" class="btn btn-primary">Send message</button> 
     </div> 
    </div> 
    </div> 
</div>'; 

はJavaScript:

echo' 
<script type="text/javascript"> 
    window.onload = function() { 
     $("#exampleModal").on("show.bs.modal", function (event) { 
    var button = $(event.relatedTarget) // Button that triggered the modal 
    var recipient = button.data("whatever") // Extract info from data-* attributes 
    var modal = $(this) 
    modal.find(".modal-title").text("New message to " + recipient) 
    modal.find(".modal-body textarea").val(recipient) 
}) 
    } 
</script>'; 

今、私はその上で、これらすべてのコードが生成されます持っていますそのトリガーボタンをクリックするとモーダルボックスが表示されます。このコードはローカルホストで正常に動作しているようですが、サーバで同じ動作をしません。返される値はundefinedです。私のlocalhostはPHP7を持っていて、私のサーバはPHP5を持っているので、今は、PHPバージョンと何か関係があるかもしれないと思います。 PHP5では、<textarea>タグの値フィールド(JavaScriptは.val())をサポートしていません(<textarea value="something">)?

このような場合でも、この問題の回避策は何ですか?私は.html().text()を使ってみましたが、値を上書きするだけです。もう一度モーダルボックスを開くと、値はすべてのモーダルボックスで同じになります(受信者モーダルボックスごとに異なる値にする必要があります)。

+0

私は、表示なしとしてPHPよりhtmlでモーダルを書くことをお薦めしました –

+0

私はWordpressのXYZ PHPコードをフィールド内で使用しています。これはphpパラメータ値のみを受け入れるため、エコー ""を使用する必要があります。 –

答えて

0

あなたがjQuery.min.js はこの1つはあなた www.bootply.com/mRbjbQ1JAB 幸運のために役立つかもしれない、bootstrap.jsを含む必要なjQueryとスタイルfiles.tryを含まhave'ntようです。

+0

私はあらかじめすべてをインポートしました。また、私は自分のlocalhostで行ったすべてのことを、私は自分のサーバーでも、基本的にコピーし、コード(トリガーボタン、モーダル、Javascript)を貼り付けるが、そのサーバーでのみ返された値は、私のlocalhost上では、各トリガーボタンの正しい値。 –

0

ブラウザに応じて、Chromeの開発ツールまたはFirefoxを使用し、ネットワークタブをクリックし、表示されるページを読み込み、開発ツールの[ネットワーク]タブに表示されているファイルをすべて確認します、それはおそらく欠けているものです。

関連する問題