Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何返回和不提交表格_Javascript_Jquery_Html_Jsp_Struts2 - Fatal编程技术网

Javascript 如何返回和不提交表格

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"

我使用multipart上传文件;如果未选择文件,我希望阻止提交表单

我怎样才能做到这一点?这是我的代码:

<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;           
}