0

我有以下 javascript 代码,它在 div 中附加了一个输入元素。这适用于 firefox、chrome 和 IE9 兼容模式,但不适用于 IE9。

function add(){
    $(document).ready(function(){
        $(".lbl").append("<div>Bild (400x400px)<br/><input type='file' name='upload[]' id='upload[]' onChange='add()' /><br/>Bild beskrivning:<br/><textarea name='imgdesc[]'></textarea></div>");
    });
}
window.load(add());

这是正在完成附加的 html 代码,它位于表单内,在表 td 内

<tr><td colspan="2">
    <div class='lbl'></div>
</td></tr>
<tr><td>
    <input type="submit" name="newobject" value="Spara och granska">
</td></tr>
</table>

关于如何在 IE9 中进行这项工作的任何想法?

4

2 回答 2

1

像这样试试

$(document).ready(function() {
     $(window).load(add());
});

function add() {
    $(".lbl").append("<div>Bild (400x400px)<br/><input type='file' name='upload[]' id='upload[]' onChange='add()' /><br/>Bild beskrivning:<br/><textarea name='imgdesc[]'></textarea></div>");
};

http://jsfiddle.net/sBVam/3/

看起来 IE9 不支持加载方法,因为控制台中显示以下错误

SCRIPT438:对象不支持属性或方法“加载”显示,第 25 行字符 1

您可以通过将 window 设置为 jQuery 对象来使用 jQuery 的 load 方法。或者您可以将 .onload 方法与本机窗口 Dom 对象一起使用。即。 window.onload()

于 2012-08-22T18:04:03.897 回答
0

改变这个

window.onload = add();
于 2012-08-22T18:08:35.790 回答