用php回显jquery动画函数

时间:2010-12-03 08:42:40

标签: php jquery forms echo

我试图用php回显这个jquery函数。基本上,如果脚本检测到某个表单的字段没有填写,那么它将回显这个并使输入文本框变为红色。

当它没有被回声时它工作正常。

echo('
<script type="text/javascript">
    $(document).ready(function() { 
        $(\'input\').animate({backgroundColor:\"#F00\"},200);
    });
</script>
');

任何想法?

5 个答案:

答案 0 :(得分:2)

当字符串在单引号内时,我认为你不必转义你的引号。 PHP不会解析字符串,它将按字面输出。

答案 1 :(得分:1)

你在字符串转义上过度了。为了简单起见,只需在回显的字符串周围使用单引号,并在其中使用双引号。类似的东西:

echo('
<script type="text/javascript">
    $(document).ready(function() { 
        $("input").animate({backgroundColor: "#F00"}, 200);
    });
</script>
');

如果你是echo的东西,确实有些情况下你需要逃避引号,但大多数时候你可以通过使用不同类型的引号来逃避它。例如,我永远不会明白为什么人们仍然会这样做:

echo "<input type=\"text\" name=\"username\">";

而不是

echo '<input type="text" name="username">';

当你必须修改它时,它会使你的生活变得更加容易。

希望这有帮助!

答案 2 :(得分:0)

您不应该在\"使用"

答案 3 :(得分:0)

此外:十六进制颜色值不是可用于animate()的数值。 这样,通过从双引号中删除反斜杠来修复错误,但是你的动画不会显示任何效果。

答案 4 :(得分:-1)

我没有测试过,但试试看:

$nl = "\n";
echo '<script type="text/javascript">'.$nl;
echo '    $(document).ready(function() {'.$nl;
echo '        $("input").animate({backgroundColor:"#F00"},200);'.$nl;
echo '    });'.$nl;
echo '</script>'.$nl;

$ nl =“\ n”仅适用于换行符(我更喜欢在回声中使用单引号,因此php不必解析内容 - 只需回显)。