Javascript 在struts中,添加按钮而不是提交表单

Javascript 在struts中,添加按钮而不是提交表单,javascript,struts,el,tld,Javascript,Struts,El,Tld,如何在javascript调用中单击按钮调用函数提交表单,表单的所有信息如下所示。 我正在使用struts核心标记库并添加按钮标记。 下面是代码 <body> <html:form action="createtableAction.do?param=uploadExcelFile1" method="post" enctype="multipart/form-data"> <table> <tr>

如何在javascript调用中单击按钮调用函数提交表单,表单的所有信息如下所示。 我正在使用struts核心标记库并添加按钮标记。 下面是代码

<body>
    <html:form action="createtableAction.do?param=uploadExcelFile1" method="post" enctype="multipart/form-data">
        <table>
            <tr>
                <td align="left" colspan="1" class="migrate">
                    <html:file property="filename" styleId="filename" style="background-color:lightgoldenrodyellow; color:black;" />
                </td>
            </tr>
            <tr style="width:100%">
                <td align="center" colspan="2" class="migrate">
                    <html:submit onclick="return Checkfiles()" style="background-color:silver; color:darkblue;">Upload File</html:submit>
                </td>
            </tr>
        </table>
    </html:form>
</body>

您可以使用ajax请求发送文件。javascript中有FormDataavailable。您可以将文件附加到FormData对象并将其发送到servlet

function checkFiles(){
     var formData=new FormData();
     var uploadUrl = 'createtableAction.do?param=uploadExcelFile1';
     // Uncomment below this if you wish to send any other fields with file
     // formData.append('id', 1);
     console.log('loading file');
     var file= document.getElementById("filename"); 
     formData.append('filename',file);

     //create the ajax request (traditional way)
     var request = new XMLHttpRequest();
     request.open('POST', uploadUrl);
     request.send(formData);
     // if you want to reload uncomment the line below
     // window.location.reload();
}

希望这对您有所帮助。

您是在问如何通过Ajax提交包含文件的表单?
function checkFiles(){
     var formData=new FormData();
     var uploadUrl = 'createtableAction.do?param=uploadExcelFile1';
     // Uncomment below this if you wish to send any other fields with file
     // formData.append('id', 1);
     console.log('loading file');
     var file= document.getElementById("filename"); 
     formData.append('filename',file);

     //create the ajax request (traditional way)
     var request = new XMLHttpRequest();
     request.open('POST', uploadUrl);
     request.send(formData);
     // if you want to reload uncomment the line below
     // window.location.reload();
}