2012-10-23 111 views
0

我有以下html表單。這裏的圖片上傳工作正常。但是我想在ajax中上傳圖片,以便在提交其他細節的表單之前。圖像的預覽可以顯示在旁邊。使用ajax上傳圖像

<form action="<?=base_url();?>index.php/insert/insertdata" method="post" enctype="multipart/form-data"> 

     <tr><td><b>Title: </b></td><td><input type="text" name="title"/></td></tr> 
     <tr><td><b>Url: </b></td><td><input type="text" name="url"/></td></tr> 

     <tr><td><b>Image: </b></td><td><input type="file" name="image"></td></tr> 

     <tr><td><b>Status: </b></td><td><select name="status"><option value="visible">Visible</option><option value="invisible">Invisible</option></select></td></tr> 

     <tr><td><input type="submit" value="submit"/></td><td><input type="reset" value="reset"/></td></tr> 
    </form> 

jQuery是也歡迎。但我想避免再次使用表單標籤。

回答

2

一旦你上傳一個圖像,然後使用URL抓取圖像的名稱,並添加到

$.ajax(url,{data},function(res){ 

     //check status if it is 200 then assign the res to the img 
     $('#img').attr('src',res); 

}) 

// HTML,如果jQuery是歡迎的圖像文件

<img src="" id="img"> 
+0

當我上傳圖像我的網頁正在刷新...我想上傳沒有頁面刷新。 –

+0

你能展示圖片上傳代碼嗎? – naveen

+0

'$ target_path =「uploads /」; $ target_path = $ target_path。 basename($ _FILES ['image'] ['name']); if(move_uploaded_file($ _ FILES ['image'] ['tmp_name'],$ target_path)) { echo「The file」。 basename($ _FILES ['image'] ['name'])。「已上傳」; } else echo「上傳文件時出現錯誤,請重試!」; }' –

0

後寫這則存在沒有比uploadify更好的解決方案。使用它,你會愛上它。請檢查demo

+0

uplodify使用表單標籤,正如我在我的問題中所描述的「但我想避免再次使用表單標籤。」我的表單中有圖像輸入標籤。所以我不能在表單標籤中使用另一個表單標籤。 –

+0

誰說你需要使用另一種形式?你可以使用相同的表單,即所有:-) –

+0

uploadify不起作用。我不想使用Flash或HTML5。進一步上傳不會顯示預覽。這不僅僅是上傳文件。我希望文件的名稱也存儲在數據庫中。 –