HTMLJS拦截表单错误提交
form 表单每次提交前都要验证内容有⽆填写还有填写的正确与否
这些 可以⽤Ajax提交代替 form表单提交,但是有些提交可能必须是 form 表单提交 (根据已有经验,勿喷!)
⽐如说 ⽂件上传
enctype="multipart/form-data" ⽂件上传必须加
表单提交按钮那⾥ type="button" οnclick="return CheckPost();" 再写⼀个检查的 js ⽅法
<form id="addForm" method="post" name="addForm" action="/addchip.do" enctype="multipart/form-data" >
<input type="hidden" name="exist" id="exist" value="0"/><%--默认没上传为0--%>
<select id="brand" class="list-select">
<option value="">请选择</option>
<c:forEach items="${brandselect}" var="item">
<option value="${item.brandName}">${item.brandName}</option>
</c:forEach>
</select>
<input type="file" name="uploadDriver" class="ipt" id="uploadDriver" accept=".bin,.hex" contenteditable="true" /> <input type="text" id="textup1" class="text-upload" readonly/>
<input type="button" id="btnup1" class="btn-upload" alt="" value="上传"/>
<input class="bginput" type="button" name="dosubmit" id="chipbtn" value="确定" onclick="return CheckPost();" >
#addForm 为表单的name属性
function CheckPost() {
var brandText = ElementById("brandText").value;
var uploadDriver = ElementById("uploadDriver").value;
if (uploadDriver != ""){
}
if (brandText == ""){
alert("请填写品牌名!");
addForm.brand.focus();
return false;
}
if (uploadData == ""){
alert("请上传数据⽂件!");
addForm.series.focus();
return false;
}
addForm.submit(); //重点没有返回false 就提交了
html中提交表单用什么属性}
为了兼容⽕狐浏览器(⽕狐浏览器⽆法点击上传⽂件按钮)
$('#btnup1').click(function(event) {
$('#uploadDriver').click();
});
//capture selected filename
$('#uploadDriver').change(function(click) {
$('#textup1').val(this.value);
});
按回车键提交
jQuery(document).bind('keyup', function(e) {
if (event.keyCode == 13) {
jQuery("#chipbtn").click();//点击登录
}
});
本来我⽤ required
<input type="file" name="uploadDriver" accept=".bin,.hex" required /> 来检查提交前是否有上传⽂件
An invalid form control with name='uploadDriver' is not focusable
表单元素隐藏时, ⽆法⽤ required
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论