JavaScript:加载空iframe时获取通知

时间:2011-04-11 21:00:54

标签: javascript jquery iframe

我正在尝试使用jQuery动态创建一个带有<form>的iframe并在其中形成子<input>元素。出于某种原因,iframe的load事件永远不会触发,因此我无法添加<input>。我错过了什么?

很短:http://jsfiddle.net/LLKej/10/

编辑:我正在尝试检测 iframe 何时加载

3 个答案:

答案 0 :(得分:0)

阅读控制台。表格没有加载事件。

答案 1 :(得分:0)

不幸的是,HTML表单没有onload或load事件。除了点击,焦点和更改等典型事件之外,唯一可用的操作是提交和重置。

参考文献: https://developer.mozilla.org/en/DOM/HTMLFormElement#Methods

答案 2 :(得分:0)

load事件 触发(通过在您的加载事件中放置警报来确认)。但是,您没有正确地将内容附加到iframe

$iframe.load(function() {

    var $uploadForm =  $("<form target='" + iframeName + "' action='" + options.postUrl + "' method='post' enctype='multipart/form-data' />");

    $iframe.contents().find("body").append($uploadForm);
    $uploadForm.append($("<input type='file' value='" + options.file + "' />"));

    if (options.selectFile === true) {
         $uploadForm.find("input").click();   
    } 
});

请注意.contents()来电之前对append的来电。

此外,我认为不可能以编程方式启动文件输入的浏览功能(由此question确认)。