在html中关于表单验证和ajax传值的先后问题
最近在写毕设的时候,发现由于没有系统的了解过js,表单验证和ajax传值存在不认识的情况,头比较疼,准备攻克这个问题。
5.23
ps:这个方法基本被我否决掉了,这个太麻烦了,以后应该是用不到了,就当html学习资料了。
我一个搞java的研究这个什么,多研究框架去了。
2.25
有事晚了一天,仔细考虑之后,由于只会一点jquery,所以用focus和blur来确定每个输入框的boolean值,最后submit的时候来个判断。
思路没问题,代码如下,来了个新问题,username部分已经成功,但pass1 却失败了。
$("#username").focus(function() {
$(this).next().html("");
$("#usernameMsg").show();
$("#usernameMsg").text("请输入以字母开头,6-20位英文字符和数字下划线");
}).blur(function () {
var x = document.getElementById("username").value;
var regstr = /^[a-zA-Z][a-zA-Z0-9_]{5,20}$/;
if (x == "" || 0 == x.length) {
$("#usernameMsg").text("输入有误,请重新输入");
return;
}
if(regstr.test(x)){
usernameFlag = true;
$(this).next().html('<img src ="image/ok.png" />');
$("#usernameMsg").hide();
}
})
$("#pass1").focus(function() {
$(this).next().html("");
$("#pass1Msg").show();
$("#pass1Msg").text("请输入6-20位英文和数字结合的密码");
}).blur(function (){
var x=document.getElementById("pass1").value;
console.log("pass1-->"+x);
var regstr = / ^[A-Za-z0-9]{6,20}$/;//这里应该没问题,百度确认后是字母数字结合的6到20位密码2.25
if (x == "" || 0 == x.length) {
$("#pass1Msg").text("输入有误,请重新输入");
return;
}
console.log(regstr.test(x));//这里我用的例子是admin1,结果返回false
if(regstr.test(x)){
pass1Flag = true;
$("#pass1Msg").hide();
$("#pass1").next().html('<img src ="image/ok.png" />');
}
})
2.25
经过比对之后,发现之前打死认为不会有错的地方
var regstr = / ^[A-Za-z0-9]{6,20}$/;//这里应该没问题,百度确认后是字母数字结合的6到20位密码2.25
这里出现了错误, / 和 ^ 之间出现了问题。多了一个空格,也可能是中英文的区别,哦对了,微软自带的输入法貌似也有影响,反正是输入法的锅,我不背。
到这里,一个小目标终于结束了。
ps:如果读者还有问题,name就将username的regstr进行复制黏贴后进行修改。。。。我也是这么找出来的。

浙公网安备 33010602011771号