2013-12-19 85 views
0

嗨,大家好,我正在使用代码波纹上传图片而不刷新页面,它的工作原理很棒..但是我想用php和回显javascript,但是出现了双引号或单引号错误。 。检查我的代码波纹管无页面刷新上传图片

<script> 
function ajaxFileUpload(upload_field) 
{ 
var re_text = /\.jpg|\.gif|\.jpeg/i; 
var filename = upload_field.value; 
if (filename.search(re_text) == -1) { 
alert("File should be either jpg or gif or jpeg"); 
upload_field.form.reset(); 
return false; 
} 
document.getElementById("picture_preview").innerHTML = "<div><img src="images/ajax-loader.gif" border="0" /></div>"; 
upload_field.form.action = "upload-picture.php"; 
upload_field.form.target = "upload_iframe"; 
upload_field.form.submit(); 
upload_field.form.action = ""; 
upload_field.form.target = ""; 
return true; 
} 
</script> 


<style> 
#picture_preview img { 
height:150px; 
border:2px dotted #666666; 
} 
</style> 


<div id="picture_preview" class="myclass"></div> 
<!-- iframe used for ajax file upload--> 
<!-- debug: change it to style="display:block" --> 
<iframe name="upload_iframe" id="upload_iframe" style="display:none;"></iframe> 
<!-- iframe used for ajax file upload--> 

<form name="pictureForm" method="post" autocomplete="off" enctype="multipart/form-data"> 
<div> 
<span>Upload Picture :</span> 
<input type="file" name="picture" id="picture" onchange="return ajaxFileUpload(this);" /> 
<span id="picture_error"></span> 

</div> 
</form> 

我试图呼应的JavaScript代码:

<?php 

echo ' 
<script> 
    function ajaxFileUpload(upload_field) 
    { 
    var re_text = /\.jpg|\.gif|\.jpeg/i; 
    var filename = upload_field.value; 
    if (filename.search(re_text) == -1) { 
    alert("File should be either jpg or gif or jpeg"); 
    upload_field.form.reset(); 
    return false; 
    } 
    document.getElementById("picture_preview").innerHTML = "<div><img src="images/ajax-loader.gif" border="0" /></div>"; 
    upload_field.form.action = "upload-picture.php"; 
    upload_field.form.target = "upload_iframe"; 
    upload_field.form.submit(); 
    upload_field.form.action = ""; 
    upload_field.form.target = ""; 
    return true; 
    } 
    </script>'; 
?> 

而且我在这行有错误:

document.getElementById("picture_preview").innerHTML = "<div><img src="images/ajax-loader.gif" border="0" /></div>"; 

回答

2

而且我在这行有错误:`

document.getElementById("picture_preview").innerHTML = "<div><img src="images/ajax-> loader.gif" border="0" /></div>"; 

好下手,你是不是逃避你的双引号...

document.getElementById("picture_preview").innerHTML = "<div><img src=\"images/ajax-loader.gif\" border=\"0\" /></div>"; 

参考

在大多数/所有编程语言中,您不能做这样的事情:

var = "John said "hello" and I said "hello to you too!""; 

您需要使用的双组合和单这样要么交替您的报价:

var = 'John said "hello" and I said "hello to you too!"'; 

...或逃生你喜欢的报价此:

var = "John said \"hello\" and I said \"hello to you too!\""; 
+0

或者使用单引号这样的:'的document.getElementById( “picture_preview”)的innerHTML = “

”;' –