【发布时间】:2013-06-19 16:03:49
【问题描述】:
我有这个 PHP 脚本,但它不能正常工作。错误是什么?
<?php
if ( isset($success) || isset($failure) ) {
?>
<script>
$(document).ready(function(){
$('div.aler').css('display','block');
$("div.aler").html("<?php if($success){echo '<p class=\"success\">'.$success.'</p>';} elseif($failure) {echo '<p class=\"failure\">'.$failure.'</p>';}; ?>");
setTimeout(function(){
$("div.aler").fadeOut("slow", function (){
$("div.aler").remove();
});
}, 5000);
});
</script>
<?php }
我觉得引号肯定有问题:
" . $failure
有消息,但是 JavaScript 没有把它放在 HTML div 中:
div.aler
我在 Chrome 控制台中收到此错误消息:
Uncaught SyntaxError: Unexpected token ILLEGAL
【问题讨论】:
-
您必须对引号
\\"进行双重编码,以便结果包含 JavaScript 字符串的\"。查看生成的 HTML,你会看到。 -
尝试在 PHP 中转义任何
",像这样\\"看看会发生什么。或者将它们更改为单引号'。或者甚至可能是\"。 -
@FelixKling,它对 div 没有任何影响,所以我无法使用 html 源代码进行检查。但我会尝试使用双重编码我的引号。谢谢
-
@FelixKling 我对
"进行了双重编码,但没有任何改变