をコメントからOPで:あなたは、単一引用符で区切られた属性値に単一引用符を使用することはできません
echo "onclick='return confirm(\'Are you sure you want to submit this form?\');'"
。
あなたのオプションは以下のとおりです。
二重引用符を使用JSでHTMLで
echo "onclick='return confirm(\"Are you sure you want to submit this form?\");'"
二重引用符を使用
echo "onclick=\"return confirm('Are you sure you want to submit this form?');\""
使用エンティティ
echo "onclick='return confirm("Are you sure you want to submit this form?");\""
PHPの文字列の中にHTML属性値の中にJavaScriptを置くと、3つの異なる言語が混在していて、そのエスケープに非常に注意する必要があります。適切な時間に正しい言語を使用してください。
大まかには、PHP文字列の内容を最小限に抑える方がよいでしょう。変数を持っているときだけPHPモードに落としてください。同じ理由
?>
<form method='POST' action='delete.php'>
<input type='image' src='images/delete.png' class='del' alt='Submit Form' onclick="return confirm('Are you sure you want to submit this form?');" />
</form>
<?php
、外部ファイルにあなたのJavaScriptを維持し、addEventListener
の代わりonFOO
属性にイベントハンドラをアタッチすることをお勧めします。
ボタンの場合は 'onclick'を使用し、フォームの場合は' onsubmit'を使用しないでください。 –
確認メッセージが表示されるようにするには、サーバー側でsubmitと呼ばれる確認ページを実行する必要があります(ボタンが2つの新しいphpファイルで、以前に入力された情報はdelete.phpを "yes"選択されます)。これを済ませたら、ajax呼び出しでjavascriptレイヤーを追加して、ユーザーエクスペリエンスを向上させることができます。このアプローチの利点は、あなたのアプリがjavascriptの有無にかかわらず動作できることです。 –
私はどれくらいの注意を払っているのですか* lol * –