...在我需要检查的一个元素的上下文中?
我从来没有遇到过使用没有jQuery的iframe上传的问题,但现在我想从ajax回调上传包含表单,iframe:
<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的新手,也许还有另一种方式?
有什么想法吗?
感谢名单
答案 0 :(得分:1)
我不明白为什么你会使用iframe而不是div或类似东西加载所有内容。
我们的想法是将数据加载到某个异步元素中。
我建议你插入一个提交按钮,这样你就可以开始做任何你想做的事情。这是一种轻量级的简单方法,可以进行“AJAX上传”。
希望这对任何帮助。