在struts中添加按钮而不是提交表单
in struts add button instead of submit form
如何在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>
在函数调用操作中并提交
function Checkfiles() {
if (fileList[count] === tempFileName) {
//want action and form submit code ...
//document.forms[0].action='/createtableAction.do?param=uploadExcelFile1';
//document.forms[0].submit();
return true;
} else {
return false;
}
}
您可以使用ajax请求发送文件。javascript中有可用的FormData()
。您可以将文件附加到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();
}
希望这对你有帮助。
相关文章:
- Jquery提交表单而不刷新
- 如何在提交表单时将PHP变量传递到Javascript cookie中
- 每次提交表单时都会重新加载网页
- Razor中的自动提交表单
- 使用 JavaScript 自动提交表单
- 点击相同的按钮打开模型,然后提交表单
- 添加和删除隐藏字段数组中的值,而不提交表单
- 使用Ajax提交表单
- jQuery:使用“jQuery验证”后无法提交表单's远程验证
- 如何在不重新加载的情况下提交表单,并使用Node+Express将数据传递回同一页面
- 有登录表单时无法提交表单
- 带有select的jquery提交表单不起作用
- 如何防止回车键提交表单,但仍然允许回车工作
- 使用按钮和单选按钮提交表单,但始终使用相同的值
- 在提交表单之前确定重复值
- 如何创建动态ajax提交表单
- HTML提交表单,同时包含空字段检查和按钮隐藏
- 如何使用jQueryAjax使用动态html输入texbox提交表单
- 当触发下拉列表的onchange事件时,使用JavaScript提交表单
- 提交表单后,Watir文本框输入未持续(重置为以前的文本框输入)