フォームでsubmitをクリックすると、AJAX呼び出しが行われます。戻り値がsuccess
の場合、システムからファイルをアップロードするためにファイルアップロードブラウザを開きたいとします。このため私はsuccess
のjQueryからのトリガクリックを使用しています。しかし、それは動作していません。以下は、AJAX呼び出しのコードです。jQueryトリガーのクリックがAJAXの成功から機能しない
$.ajax({
url: AppManager.defaults.contextPath,
data: colMap,
contentType: 'application/json',
type: 'POST',
success: function(data) {
if (data.result == 'Success') {
$('#continue-upload-input-box').trigger('click');
} else {
self.popupView.closePopup();
notify.popup('Error Uploading').error(self.uploadFailureMessage);
}
},
error: function(error) {
console.log(error);
}
});
ファイルアップロード用のコードが書かれているところである:
change: function($view) {
var self = this;
$('<form id="custom-upload" class="input-form-container" enctype="multipart/form-data"></form>').appendTo($view.find('.btn-wrap'));
$view.find('.input-form-container').after('<input name="excelFile" type="file" id="continue-upload-input-box" style="display:none;">');
$view.find('#continue-upload-input-box').off('change').on('change', function(event) {
if (event.target.files.length === 1) {
self.uploadCustomTemplate(new FormData($('#custom-upload')[0]));
self.popupView.closePopup();
}
});
}
上記のコードで問題がある可能性がありますか?
「DOM」にレスポンスを追加していませんか?あなたが 'DOM'でそれを持っていなければ、あなたは'イベント 'を持つことはできません。 –
あなたの要素の 'click'イベントコールバックが表示されません。あなたは1つを束縛しましたか? – apokryfos