<scripttype="text/javascript">
$('#confirm').on('click', function(){
var pre_code = $("#pre_code").val();
if(pre_code!=""){
if(!isNum(pre_code)){
alert(pre_code+"请填写6位数字");
$("#pre_code").focus();
}else if(pre_code.length !=6){
alert(pre_code+"预存编码为6位数字");
$("#pre_code").focus();
}
return;
}else{
alert(pre_code+"请填写6位数字预存编码");
$("#pre_code").focus();
return;
}
$("#userForm").attr("action", "<%=path %>/preInfo/updatePre.do");
$("#userForm").submit();
});
//判断是否为数字
function isNum(v){
var regu = /^[0-9]+$/;
return regu.test(v);
}
</script>
各位大神帮忙看看是不是哪里的语法有错误,本人刚入行的菜鸟。
你的第一个return导致了只要pre_code不为空字符串,不论是否是数字或者6位数字,都会在此处直接返回,不再执行下面的代码
script标签开始标签内type属性与script应该改空格隔开。
在不使用委托的情况下,事件的绑定一定要在指定dom元素加载完成之后才能绑定,否则js是找不到改dom的,因此绑定的事件也是不生效的。
<script type="text/javascript">
$("#userForm").attr("action", "<%=path %>/preInfo/updatePre.do");
你发起的这个请求,后台收到没
三楼说的对,不论走哪个条件,你都return了,程序就不往下执行了
代码的逻辑除了问题,这是修改后的。
$('#confirm').on('click', function(){
var pre_code = $("#pre_code").val();
if(pre_code!=""){
if(!validateNum(pre_code)){
return;
}
} else {
alert("请填写预存编码!")
$("#pre_code").focus();
return ;
}
$("#userForm").attr("action", "<%=path %>/preInfo/updatePre.do");
$("#userForm").submit();
});
//判断是否为数字且长度为6
function validateNum(str){
if(str.length != 6){
alert("预存编码必须是6位");
return false;
}else{
for(var i=0; i<str.length; i++){
if(str.charAt(i)<'0' || str.charAt(i)>'9'){
alert("劵种编码只能是数字");
return false;
}
}
}
return true;
}