我的需求是通過使用Jquery的東西點擊自定義按鈕來從表單上傳文件。Jquery沒有提交自定義按鈕的表單
我的形式,細節如下:
<form id="CreateAttachmentForm" method="post" enctype="multipart/form-data" action="../../FileUploadServlet" >
我的文件定義如下:
<input type="file" id="fileupload1" name="fileupload1" accept="image/*,application/pdf" "/>
我的自定義按鈕相關的代碼如下:
<contact:contactbutton
id="printButton"
style="position:relative; width:90px; top:27px; height:30px; left:160px;"
textTop="7px"
defaultButton="false"
tabindex=""
accesskey="C"
onClickEx="createAttachmentRequest();"
onfocus="if(event.altKey){click();}">
<u>C</u>reate
</contact:contactbutton>
每當用戶點擊在自定義按鈕上,表單應該被提交。我已經註冊了一個onClick事件事件OL應達到名爲createAttachmentRequest()
功能以下是我的createAttachmentRequest()
功能:
function createAttachmentRequest() {
alert("test ");
$("#CreateAttachmentForm").submit(function() {
var formData = new FormData($(this)[0]);
$.ajax({
url: 'http://HDDT0214:8080/pqawdTestWebApp/FileUploadServlet',
type: 'POST',
data: formData,
async: false,
success: function(data) {
alert(data)
},
cache: false,
contentType: false,
processData: false
});
return false;
});
}
但是當我點擊自定義按鈕的形式沒有提交。我已經搜索了關於SO的各種問題,但迄今尚未找到合適的解決方案。但是,我可以看到打印的警報消息,確認控件正在達到功能createAttachmentRequest()
。我的代碼出了什麼問題?
我想你在調用$(「#CreateAttachmentForm」)。submit()時,設置$(「#CreateAttachmentForm」)的eventlistener。您需要在加載頁面之前執行此操作。如果你想使用createAttachmentRequest函數,你應該刪除$(「#CreateAttachmentForm」)。submit(function()部分。 – Mizzcoollizz