0

divに入力要素を追加する次のJavaScriptコードがあります。これは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:オブジェクトはプロパティまたはメソッド'load' show、25行目の文字1をサポートしていません

windowをjQueryオブジェクトにすることで、jQueryのloadメソッドを使用できます。または、ネイティブウィンドウのDomObjectで.onloadメソッドを使用できます。 window.onload()

于 2012-08-22T18:04:03.897 に答える
0

これを変える

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