multiple
ASP.NETを使用してマルチファイルアップローダーを作成していますが、IEが内部の属性をサポートしていないことを知っています<input type="file"/>
。
そこで、ユーザーがIEを使用しているかどうかをチェックするjQueryコードを作成しました。はいの場合は、ユーザーが複数のファイルアップロードコントロールを追加できるようにするボタンを表示して、ユーザーが複数のファイルをアップロードできるようにします。
問題は、ユーザーがそのリンクをクリックして<input/>
コントロールを生成し、もう一度クリックして3番目のリンクを追加するとです。何も起こらない!..追加されるコントロールは1つだけなので、使用するコントロールは2つになります。それ以上、彼がいくらクリックしても、それ以上の<input/>
コントロールは追加されません。
これが私のコードです:
$(function () {
if (!('multiple' in document.createElement('input'))) {
var add_btn = $("<a href='#'>Add more photos</a>").insertAfter("#ContentPlaceHolder1_upload_lbl");
var upload_pnl = $('<input type="file" runat="server"/>');
var upload_holder = $("#fileinput_placeholder");
add_btn.on("click", function () {
upload_holder.append(upload_pnl);
alert("click event called(debugging)");
});
}
});
これがその部分のノードツリーの写真です: