-3
if ($_POST["name"] == "") { 
    array_push($errors, "Your PixelPal needs a name!");
    echo "<script>\$('#name').css({ 'border': 'none', 'box-shadow': 'inset 0px 0px 5px 3px rgba(128, 128, 128, 0.3), 0px 0px 10px rgba(255, 0, 0, 1)' });</script>";
}

基本的に、name変数が設定されていない場合は、スクリプトをエコーし​​て、赤で強調表示されるように変更します。なぜこれが機能しないのですか?

読みやすいようにフォーマットされています。

if ($_POST["name"] == "") { 
    array_push($errors, "Your PixelPal needs a name!");
    echo "<script>\$('#name').css({
        'border': 'none',
        'box-shadow': 'inset 0px 0px 5px 3px rgba(128, 128, 128, 0.3), 0px 0px 10px rgba(255, 0, 0, 1)'
     });</script>";
}

ページにプッシュされた場合、JavaScriptはすぐに実行されるべきではありませんか?

4

1 に答える 1

1

JQuery スクリプトは、既にページ上にある要素に対して機能します。要素の前にこのスクリプトを実行する場合は、ステートメントid="name"内にスクリプトを追加する必要があります。$(document).ready

if ($_POST["name"] == "") { 
    array_push($errors, "Your PixelPal needs a name!");
    echo "<script>
\$(document).ready({
\$('#name').css({
        'border': 'none',
        'box-shadow': 'inset 0px 0px 5px 3px rgba(128, 128, 128, 0.3), 0px 0px 10px rgba(255, 0, 0, 1)'
     });
 });</script>";
}
于 2013-01-20T21:05:00.320 に答える