私はform
に計算を行い、データベースを入力してアラートで値を返します。 modal
の場合はalert
と置き換えます。PHPでBootstrapモーダルに変数を表示するにはどうしたらいいですか?
HTML
<form method="post" action="#">
<input type="text" name="alt" id="altura" required><br><br>
<input type="text" name="peso" id="peso" required><br><br>
<button type="submit" id="Send">Send</button>
</form>
PHP
function calcularIMC($altura,$peso){
$imc = 0;
if($altura >0 && $peso >0){
$imc = $peso/($altura * $altura);
}
echo '<script>';
echo 'alert("'.$imc.'");';
echo '</script>';
}
次のように私が試した:
- タグ</html>
コードの後php
を追加しました。
- 計算を担当する変数を追加しました。$imc
;
- Send
のボタンをmodal
にリンクしました。
<form method="post" action="#">
<input type="hidden" name="acao" id="acao" value="cadastrar"/>
<input type="text" name="alt" id="altura" required><br><br>
<input type="text" name="peso" id="peso" required><br><br>
<button type="submit" id="Enviar" data-toggle="modal" data-target="#myModal">Enviar</button>
</form>
<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-body">
<?php echo'.$imc.';?>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
</body>
</html>
PHP
<?php
function calcularIMC($altura,$peso){
$imc = 0;
if($altura >0 && $peso >0){
$imc = $peso/($altura * $altura);
}
return $imc;
}
?>
はこのように、私は(すべての空のフィールドを持つ)Send
ボタンをクリックしたときに、それはモーダルを開き、文字列として'.$imc.'
を表示します。 データを挿入してボタンSend
をクリックすると、淡色のウィンドウ(モーダルの早期効果)がすぐに正常に戻ります。私はmodal
が呼び出されていると信じていますが、いくつかのストレッチはエラーを出して終了します。
どうすればこの問題を解決できますか?
AJAX、コードの先頭:body
<?php
if ($imc !== false){
echo "<script>$('#myModal').modal('show');</script>";
}
?>
の
<?php
$imc = false;
if ($_SERVER['REQUEST_METHOD'] == 'POST'){
$imc = calcularImc($_POST['altura'], $_POST['peso']);
}
?>
終わり、それはこのことだろうか?私はこのコードを追加しようとしましたが、同じ結果を出しました。フォームを提出すると、ウィンドウが暗くなり、すぐに正常に戻ります。
---------------------------------私が欲しがるように更新しました---- ---------------------------
<form method="post" action="#">
<input type="text" name="alt" id="altura" required><br><br>
<input type="text" name="peso" id="peso" required><br><br>
<button type="submit" id="Send" data-toggle="modal" data-target="#myModal">Send</button>
</form>
<?php
$imc = false;
if ($_SERVER['REQUEST_METHOD'] == 'POST'){
$imc = calcularImc($_POST['altura'], $_POST['peso']);
}
?>
<?php
if ($imc !== false){
echo '<script src="https://code.jquery.com/jquery-2.2.3.min.js"></script>';
echo '<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>';
echo "<script>$('#myModal').modal('show');</script>";
}
?>
</body>
</html>
function calcularIMC($altura,$peso){
$imc = 0;
if($altura >0 && $peso >0){
$imc = $peso/($altura * $altura);
}
echo '<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-body">';
echo $imc; // RESULT OF CALC MODAL INSIDE
echo '</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>';
}
?>
どこでcalcularIMCを呼び出しますか。どこで$ imcを設定しますか?構文が間違っています。変数を出力したいのであれば '<?php echo $ imc; ?> ' – Laurens
私は' modal'の中でcalcularIMCを呼び出したいと思います。 $ imcはcalcularIMCで宣言されています。私の構文が間違っているので、どうすれば修正できますか?私を助けることができますか? – GtGtGt
既にレンダリングされたページでPHPコードを呼び出すことはできません。したがって、フォームが送信され、モデルが自動的に開くか、またはPHPコードを実行するためにサーバーにAJAXリクエストを送信する必要がある場合は、フォームを送信してページをチェックする必要があります。ページを更新したくない場合は、AJAXを参照してください。 – Laurens