js表单提交问题

来源:百度知道 编辑:UC知道 时间:2024/06/17 19:33:07
我这个表单提交时候的验证,为什么出错的时候还会被提交???
var v = /^[0-9]*[1-9][0-9]*$/;
var sizes = document.getElementById('sizes').value;
var size = sizes.split(',');
var j =0;
for(var i = 0;i<size.length;i++){
var num = document.getElementById(size[i]).value;
var has = document.getElementById(size[i]+"has").value;
if(v.exec(num)||num==""){
if((num-has)>0){
alert('对不起,你填写的数量超过库存!请重新填写');
return false;
}if(num==0||num==""){
j++;
}
}else{
alert('对不起,你填写错误!请重新填写');
return false;
}
}
if(j==size.length){
alert("您什么都没选,无法下订单");
return false;
}
<form name="dingdan" id="dingdan" method="post" onsubmit="if(confirm('您确认结帐吗?')){return validateIndent('dingdan')}">
这么写吗?

你的意思是
没有满足的你提交的条件也提交了是吗??
如果是这样我的推测是在调用方法的时候没有加return,

比如
function getStr()
{
....
}

如果你把你的脚本放在上面的方法的话,调用的时候应该是:
return getStr();

这个方法要在form的onSubmit里调用,而且需要加return,
比如: <form onSubmit="return 方法名();">