onsumit表示提交表单的动作,此时提交已经开始了。所以即使你return false也只能阻止一个动作的发生,而这个提交动作也无可避免地已经在进行中或将要完成。
解决办法:
去除form标签上的onsubmit
在提交按钮上加上onclick方法:
例如:
<input type="button" value="提交" name="">
在checkForm中处理逻辑,控制提交。
form对象.submit();//提交表单
例如:
//表单提交验证
function checkForm(){
/*
只有有一个对象的isUplod为false;
controller都为fasle;
只有当所有对象的isUplod为true时,
controller才为true
*/
//控制是否上传完毕 默认为fasle
var controller = true;
for(var i=0;i<input_files.length;i++){
if(!input_files[i].isUplod){
controller=false;
}
}
if(controller){
alert("所有图片上传完毕");
//表单提交
document.getElementById("ceshi").submit();
}else{
//处理
alert("还有图片未上传完");
return false;
}
}
本文介绍了一种在JavaScript中控制表单提交的方法,通过将onsubmit属性从form标签移除并将其作为按钮的onclick事件来实现。这种方法允许开发者在提交前进行更精细的验证和逻辑控制。
1448

被折叠的 条评论
为什么被折叠?



