我的需求是通过使用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