PHPを使用してJavaScriptを使用する方法は?
シナリオ:
IF ELSE
を使用してフィルタリングを作成しました。ここで、ユーザーが[ボックスA]と[ボックスB]をクリックすると、ユーザーが[保存]をクリックした後、ボックスAがすでにいっぱいであると想定します。 BUTTON」、確認メッセージが表示され、次のように表示されます... 「選択したボックスはすでにいっぱいです。他のアイテムを保存しますか?」
これが私のコードです:
<?php
//else if......
else if($box== "BOX A" && $row[item] == "100")
{
echo "<script type='text/javascript'>";
echo "var r=confirm('The Box you chosen is already full. Do you want to save the other items?')";
echo "if (r==true){";
echo "alert('You pressed OK!')}";
echo "else{";
echo "alert('You pressed Cancel!')}";
echo "</script>";
}
?>
コードに問題があり、 echo "enter here";
を使用してトレースしようとすると
プログラムがこのコードを読み取った後は常に停止します
echo "<script type='text/javascript'>";
次に、ここにジャンプします:
echo "</script>";
結果:
ポップアップメッセージが表示されない...ポップアップメッセージを表示するだけで、理由がわかりません。なぜ表示されないのか...確認メッセージを表示するためのボタンはありません。 。それ以外の場合は通過し、ユーザーが保存を続行するかどうかを確認するメッセージが表示されます。そうでない場合は、ボックスの1つがすでにいっぱいになっている場合は、キャンセルを押します...
注: 私はPHPとJavascriptの初心者です。
よろしくお願いします。
答え :
解決策:
これは、別のタグ内で新しい <?
/ <? php
タグを開始するためです。
else if($ box == "BOX A" && $ row [item] == "100")
{{
<? php
echo "";
?>
}
あるべきです
else if($box== "BOX A" && $row[item] == "100")
{
echo "<script type='text/javascript'>";
echo "var r=confirm('The Box you chosen is already full. Do you want to save the other items?')";
echo "if (r==true){";
echo "alert('You pressed OK!')}";
echo "else{";
echo "alert('You pressed Cancel!')}";
echo "</script>";
}
でも個人的には
else if($ box == "BOX A" && $ row [item] == "100")
{{
?>
<スクリプト>
var r = confirm('選択したボックスはすでにいっぱいです。他のアイテムを保存しますか?') ";
if(r == true){
alert('OKを押しました!');
} そうしないと {
alert('キャンセルを押しました!');
}
{-コード-1}
}
は、はるかにクリーンで読みやすくなっています。 javascriptをPHPに含めないでください。回避できる場合は、エコーアウトしないでください。 6か月で調査するのは難しいかもしれません。
答え :
解決策:
または、このようなことを行うことができます。
<?php
//some PHP code
if($box== "BOX A" && $row[item]== 100)
{
?>
<script type='text/javascript'>
var r=confirm('The Box you chosen is already full. Do you want to save the other items?');
if (r==true){
alert('You pressed OK!')}
else{
alert('You pressed Cancel!')}
</script>
<?php
}
?>
答え :
解決策:
この行の前にphpタグとifステートメントを配置したと想定しています
else if($box== "BOX A" && $row[item] == "100")
実際には、別のphpタグを開く必要はありません。すでにphpで記述しているので、コードが失敗するので、再度指定する必要はありません。代わりに、このようなものを書くことができます。
else if($box == "BOX A" && $row[item] == "100")
{ ?>
<script type='text/javascript'>
var r=confirm('The Box you chosen is already full. Do you want to save the other items?');
if (r==true)
alert('You pressed OK!');
else
alert('You pressed Cancel!');
</script>
<?php
}
答え :
解決策:
$str = <<<MY_MARKER
<script type="text/javascript">
document.write("Hello World!");
</script>
MY_MARKER;
echo $str;
答え :
解決策:
問題は基本的に、JavaScriptをエコーするときに、 ;
文字を続行する必要があることを忘れているためです。 JSライン:
&lt ;?php
//それ以外の場合......
else if($ box == "BOX A"&amp ;&amp ; $ row [item] == "100")
{{
echo "&lt ; script type ='text / javascript'&gt ;
var r = Confirm('選択したボックスはすでにいっぱいです。他のアイテムを保存しますか?'); //&lt;-これはありませんでした
if(r == true){
alert('OKを押しました!');
}
そうしないと{
alert('キャンセルを押しました!');
}
&lt ; / script&gt ; ";
}
?&gt{-コード-1}
私が使用するちょっとしたトリックは、PHPエコーが途切れることなく新しい行を許可するため、いつでもコードのブロックをエコーして簡単に確認できることです。
同様の質問
私たちのウェブサイトで同様の質問で答えを見つけてください。