【问题标题】:What's the difference between load(fn) and ready(fn)load(fn) 和 ready(fn) 有什么区别
【发布时间】:2010-11-29 22:24:40
【问题描述】:

...在我需要检查的一个元素的上下文中?

我从来没有遇到过在没有 jQuery 的情况下使用 iframe 上传的问题,但现在我考虑从包含表单 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 的新手,也许还有另一种方法?

有什么想法吗?

感谢

【问题讨论】:

    标签: jquery ajax iframe upload


    【解决方案1】:

    我不明白您为什么要使用 iframe 而不是 div 或类似的东西来加载所有内容。

    这个想法是将数据异步加载到某些元素中。

    我建议您也插入一个提交按钮,这样您就可以开始做任何您想做的事情。这是一种轻量级且简单的“AJAX 上传”方式。

    希望这对您有所帮助。

    【讨论】:

    • load(fn) - 绑定到每个匹配元素的加载事件并在页面完全加载时运行的函数。我正在使用这个函数,因为我必须处理请求的 json-data。它不是 ajax 函数
    猜你喜欢
    • 2012-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-08
    • 2021-02-02
    • 2010-09-23
    • 2021-02-06
    • 2017-09-07
    相关资源
    最近更新 更多