...之间有什么区别?我需要检查一个元素的上下文吗?加载(fn)和就绪(fn)
我从来没有遇到过使用iframe中没有的jQuery上传的问题,但现在我想从其中包含一个表单,一个iframe AJAX回调上传:
<form enctype="multipart/form-data" action="get.imageupload.php" id="upload_form" method="post">
<input name="userfile" type="file" id="file" />
<input type="submit" name="action" value="start" />
<input type="hidden" name="id" value="<?=$id;?>" />
<iframe id="upload_target" name="upload_target" src="" style="width:0;height:0;border:0"></iframe>
</form>
及以下JS:
$("#upload_form").submit(function() {
$(this).attr("target","upload_target");
$("iframe", this).load(function() {
var ret = $("iframe", "#upload_form").contents().find("body").html();
var data = eval("("+ret+")");
if (data.success) alert("success"); // todo
if (data.failure) alert("fail"); // todo
});
return false;
});
我必须处理来自get.imageupload.php
的返回JSON数据的请求,因此js看起来像这样。 问题是:load(fn)
不起作用; ready(fn)
取而代之,但iframe
是空的,因为事件在上传开始之前触发......我是jQuery中的新手,也许还有另外一种方法?
任何想法?
感谢名单
P.S.不是IE浏览器。 – Vov4ik 2009-09-20 20:51:50