76

このコードを実行すると、非常に奇妙な JavaScript エラーが発生します。

<script type = 'text/javascript'>
var ask = confirm('".$message."');
if (ask == false)
{
    return false;     
}

else
{
    return true;
}
</script>

JavaScript コンソールでは次のように表示されます。

Syntax Error: Illegal return statement

で発生しreturn true;return false;

(私はphp関数からこのjavascriptをエコーし​​ています;$message変数はphpパラメータの1つです)

コードの何が問題になっていますか?

4

7 に答える 7

119

return関数内でのみ意味があります。コードに関数がありません。

また、あなたのコードは冗長部門の場合に価値があります。適切な関数に移動すると仮定すると、これはより良いでしょう:

return confirm(".json_encode($message).");

かなり後で編集:json_encodeメッセージ内のアポストロフィが原因でメッセージの内容が壊れないようにするために使用するコードを変更しました。

于 2013-04-17T19:16:26.243 に答える