我们在做站的时候,经常需要做表单来收集客户信息,以前我们使用DedeCMS留言簿插件二次开发来做成表单,这样会显得很麻烦,更多时候我们使用自定义表单来收集,前段时间也分享了DedeCMS自定义表单中添加验证码的方法,这样可以防止恶意提交信息,造成大量的垃圾数据,但是有的时候我们不过滤用户的信息内容即使做了验证码也会造成很多垃圾数据,这个时候我们就需要在提交表单前加个内容判断了,对于不和规矩的表单内容,我们直接不提交,这样就能彻底杜绝垃圾信息了。
实现方法如下:
一、自定义表单数据:
这个可以根据自己的情况来定,余斗就拿经常用的姓名和电话来测试,姓名必须要2到4个字,电话则7到11个数,我们的表单代码如下:
<form action="/plus/diy.php" enctype="multipart/form-data" method="post" data-ajax="false" >
<input type="hidden" name="action" value="post" />
<input type="hidden" name="diyid" value="1" />
<input type="hidden" name="do" value="2" />
<input type="text" placeholder="您的姓名" name='name' id='name' class="ipt_apply" />
<input type="text" placeholder="您的手机" name="tel" id="tel" class="ipt_apply" />
<input type="hidden" name="dede_fields" value="name,text;tel" />
<input type="hidden" name="dede_fieldshash" value="300dda2365c477894b55ac51a39a7678" />
<input type="submit" name="submit" onClick="return ckffrom()" value="免费预约"class="coolbg" class="apply_btn" />
</form>
二、添加js判断代码:
<script type="text/javascript">
function ckffrom(){
if($("#name").val() == ''){
alert('请填写您的真实姓名!');$("#name").focus();return false;
}else if(!/^[0-9,-]{7,13}$/.test($("#tel").val())){
alert('请填写您的联系电话!');$("#tel").focus();return false;
}else{
alert("您的信息已经提交成功,稍后会有专业客服人员与您联系!");
window.location.href="/";
}
}
</script>
原理很简单就是增加一个ckffrom判断函数,把判断的值再返回给表单就可以,如果大家有其他的内容则自行百度js的判断语句,非常简单。这里就能实现在提交表单到数据库之前先判断下用户提交的内容是否符合规矩,对于不合规矩的直接提示错误位置并打回重填。