我试图用php回显这个jquery函数。基本上,如果脚本检测到某个表单的字段没有填写,那么它将回显这个并使输入文本框变为红色。
当它没有被回声时它工作正常。
echo('
<script type="text/javascript">
$(document).ready(function() {
$(\'input\').animate({backgroundColor:\"#F00\"},200);
});
</script>
');
任何想法?
答案 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不必解析内容 - 只需回显)。