2012-04-05 86 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