-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>";
}

基本上,如果未设置名称变量,我希望它回显一个脚本,将其更改为以红色突出显示。为什么这行不通?

这是它的格式更好地阅读:

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 回答