我卡住了onerror / php |在输出中获得一个空格



将此作为ajax搜索页面的一部分

index . php

$(document).ready(function(){  
$('#user').keyup(function(){  
var query = $(this).val();  
if(query != '')  
{  
$.ajax({  
url:"search.php",  
method:"POST",  
data:{query:query},  
success:function(data)  
{  
$('#postList').fadeIn();  
$('#postList').html(data);  
}  
});  
}  
});  

}); 

search.php

$output .= '<div class="bild"><img src="'.$row["URL"].'" width="200" height="300" alt="'.$row["Titel"].'" onError="this.onerror=null;this.src="loading.jpg";"/></div>';
$output .= '</div>'; 

问题是,我得到一个空间在index.php当我激活它

this.src=" loading.jpg"

谁有任何好的解释为什么这是,我也很高兴,如果有人能让我在正确的道路上:)

感谢输入图片描述

需要腾出空间…

this.src="loading.jpg"

双引号中有双引号,将其中一个改为单引号或转义:

onError="this.onerror=null;this.src="loading.jpg";"

试着这样做:

onError="this.onerror=null;this.src="loading.jpg";"

或:

onError="this.onerror=null;this.src='loading.jpg';"

或:

onError="this.onerror=null;this.src='loading.jpg';"

它们中的一个应该修复它,只是用你的代码试试哪个是最好的。

load .jpg的引号没有转义,因此它将load .jpg视为div标签的属性,而不是this的src参数。将loading.jpg周围的引号替换为',它应该可以工作。

我在一个交互式PHP shell中快速键入了这个示例,以向您展示效果。

首先你的结果是什么(你看到loading.jpg是不同的颜色突出显示):

php > $output = '<div class="bild"><img src="'.$row["URL"].'" width="200" height="300" alt="'.$row["Titel"].'" onError="this.onerror=null;this.src="loading.jpg";"/></div>';
php > echo($output);
<div class="bild"><img src="http:demo.com" width="200" height="300" alt="Demo" onError="this.onerror=null;this.src="loading.jpg";"/></div>

现在我的修复:

php > $output = '<div class="bild"><img src="'.$row["URL"].'" width="200" height="300" alt="'.$row["Titel"].'" onError="this.onerror=null;this.src='loading.jpg';"/></
div>';
php > echo($output);
<div class="bild"><img src="http:demo.com" width="200" height="300" alt="Demo" onError="this.onerror=null;this.src='loading.jpg';"/></div>

相关内容

最新更新