ノックアウトで uploadify/uploadifive を使用しようとしましたが、プレースホルダー要素が見つからないというエラーが発生し続けました。エラーは、uploadify(flash) バージョンを使用していた IE を実行している場合にのみ発生しました。他のブラウザはuploadifive(html5)を使っていたので問題ありませんでした。IE で動作しないのはなぜですか?
HTML
<input type="file" data-bind="imageUpload: images" />
カスタムバインディング
ko.bindingHandlers.imageUpload = {
init: function (element, valueAccessor, allBindingsAccessor, viewModel, bindingContext) {
var uploadCallback = function (file, data, response) {
valueAccessor().collection().add(JSON.parse(data));
};
window.setTimeout(function () {
$(element).uploadifive({
'method': 'post',
'fileObjName': 'FileData',
'uploadScript': 'Image/Upload',
'onUploadComplete': uploadCallback,
'onFallback': function () {
$(element).uploadify({
'method': 'post',
'fileObjName': 'FileData',
'swf': '/Scripts/Uploadify/uploadify.swf',
'uploader': 'Image/Upload',
'onUploadSuccess': uploadCallback
});
}});
}, 0);
}
}