刚进公司练习不久,近来公司有一个需求,做一个h5的页面,应用传过来的url参数来显现差别的表单内容,差别的表单提交的内容也就不一样。
虽然我刚拿到也以为so easy,然则就是这个简朴的东西也踩了许多坑,记录下来,不再懵逼。
1 隐蔽的表单元素的value也会被默许提交
解决办法,上代码:
if(type === '1000'){
$('.badyForm').show();
$('.badyForm').find('input').attr('disabled',false);
}else{
$('.badyForm').hide();
$('.badyForm').find('input').attr('disabled',true);
}
个中.badyForm
就是要隐蔽的元素鸠合,起首依据推断显现隐蔽,然则肯定要将disable
设置为true
才不提交内容
2 隐蔽了元素 点击提交 没有反应?
上代码,这里是一个姓名的推断:
<input type="text" id="name" datatype="name" placeholder="请填写您的姓名(必填)" name="username" nullmsg="姓名为必填项" errormsg="请输入2~10个字符" >
<em class="bd_tlbr"></em>
由于Validform插件会做推断 假如设置了datatype
、errormsg
以及nullmsg
的话,没有值 是不允许你提交的;然则,我们的需求就是要设置这里的错误信息
解决办法,上代码:
var formSubmit = $(".registerform1").Validform({
btnSubmit: '.submit1',
tiptype: 3,
showAllError: true,
datatype:{
"name": /^\s*$/ || "*2-10",
},
思绪:在提交的时刻做推断,datatype
与input
里的name
对应起来,假如为空,则考证经由过程,假如不为空,则继承下面的推断是不是为2-10之内的字符.
不输入:
输入一名:
也许就是如许的,以上就是踩的坑,迎接相互交流学习.
完全代码: 没有(皮的嘛就不谈了)