Javascript 如何返回和不提交表格
我使用multipart上传文件;如果未选择文件,我希望阻止提交表单 我怎样才能做到这一点?这是我的代码:Javascript 如何返回和不提交表格,javascript,jquery,html,jsp,struts2,Javascript,Jquery,Html,Jsp,Struts2,我使用multipart上传文件;如果未选择文件,我希望阻止提交表单 我怎样才能做到这一点?这是我的代码: <form id="uploadFile" name="uploadFileForm" action="<s:url value="/admin/saveExcelDatarestore" />" method="post" enctype="multipart/form-data"><span> <input type="hidden"
<form id="uploadFile" name="uploadFileForm" action="<s:url value="/admin/saveExcelDatarestore" />" method="post" enctype="multipart/form-data"><span>
<input type="hidden" name="s360securetoken" value="<s:property value="#session.s360securetoken"/>"/>
<s:hidden name="user.userId"></s:hidden>
<s:hidden name="user.emailId"></s:hidden>
<div><label>DownLoad Sample :</label><input type="button" class="submit" value="XLS" onclick="dnldSampleData('XLS');"></span></div>
<div><label>Upload File :</label> <input type="file" name="upload" value="" id="uploadFile_upload"></span>
<span><select id="selectedTimeZone" name="timeZone" style="width:100%;white-space: nowrap; overflow: hidden;" class="chosen-select1">
<jsp:include page="../../../../timezone.jsp"/>
</select></span><div>
<input type="submit" value="upload" class="submit" onclick="upload_file();"></form>
下载示例:
上载文件:
在这里,如果我没有选择文件,它也会将tme重定向到
saveExecelDataStore
,但我希望如果没有选择文件,那么它不会显示任何消息,并返回单击submit按钮,您可以用java脚本编写代码
function upload_file()
{
e.preventdefault();
var file = document.getElementById("uploadFile_upload");
if(file.value!=""){
$("#uploadFile").submit()
alert("file selected");
}else{
alert("nothing selected");
return false;
}
}
假设upload\u file()
正在检查文件是否存在(否则,由于它应用于提交按钮,因此不清楚它的作用),则需要返回其结果。如果为false,则提交将中止:
函数上传_文件(){
return document.getElementById(“uploadFile_upload”).files.length>0;
}
首先让输入标记的onclick以事件作为参数上载文件函数(事件,这是传递给函数的空间对象,您可以在函数内部使用它们,而无需在函数头中声明它们)):
阅读更多:
顺便说一句,您也可以使用一个好的jquery表单插件发送包含文件上传的ajax表单请求,它在过去的struts2中对我帮助很大:我这样做了,但表单仍然是submittinguse e.preventdefault();在返回FALSE之前,如果未选择文件,它仍会在url中重新选择
将我吓死。顺便说一句,为什么不
?
<input type="submit" value="upload" class="submit" onclick="upload_file(event);"></form>
function upload_file(e)
{
e.preventdefault(); // or event.preventdefault();
var file = document.getElementById("uploadFile_upload");
if(file.value!=""){
// get form element through id:
document.getElementById("uploadFile").submit();
}
return false;
}