2012-04-05 83 views
0

任何人都可以告訴我我在做什麼錯在下面的代碼表單不提交給iframe?將表單提交給iframe?

$(function() { 
    $(".preview").click(function() { 
     $('#sliderimage').wrap('<form action="/index/upload.php" method="post" id="imageform" target="imageupload" />'); 
     $('#imageform').submit(); 
     $('#sliderimage').unwrap(); 
     return false; 
    }); 
});​ 


<iframe style="display: none;" name="imageupload" id="imageupload"></iframe> 
<input type="file" id="sliderimage" name="sliderimage"> 
<input type="button" class="preview" value="Preview"> 
+1

你怎麼知道它沒有被提交給iframe?在我看來,你在表單中缺少一個'enctype =「multipart/form-data」',並在表單標記 – rlemon 2012-04-05 03:00:59

+0

中將'type'切換爲'method'會發生什麼?頁面是否刷新?去upload.php?或沒有任何反應?您是否嘗試禁用顯示器:無,在iframe上?查看iframe的內容,如果有的話? – SinistraD 2012-04-05 03:02:01

+0

我知道表單沒有被提交,因爲upload.php讀取<?php echo「run」; ?>和iframe從不包含字符串運行意味着它沒有提交。 – Renari 2012-04-05 03:06:26

回答

0

我馬上看到兩個問題,不確定他們是否會解決問題。

您已將'類型'設置爲post。這個屬性應該是method

以及您需要設置窗體上的enctype。

$(function() { 
    $(".preview").click(function() { 
     $('#sliderimage').wrap('<form action="/index/upload.php" method="post" id="imageform" target="imageupload" enctype="multipart/form-data" />'); 
     $('#imageform').submit(); 
     $('#sliderimage').unwrap(); 
     return false; 
    }); 
});​ 

EDIT

上面的代碼是直接切割並從源粘貼....這意味着「隱藏」(A€<)字符的jsfiddle糊劑成JavaScript是也存在。刪除它,你js將發揮作用。要做到這一點只需退回一次您的js代碼的末尾。

+0

謝謝,我做了這些修改,但是它沒有修復它。 – Renari 2012-04-05 03:06:06

+1

看我的更新和http://rlemon.com/example.html工作的例子,神祕人物再次襲擊! – rlemon 2012-04-05 03:16:06

+0

謝謝,這是奇怪的大聲笑。 – Renari 2012-04-05 03:49:56