织梦自定义表单提交为了防止用户恶意提交给大家分下一下解决方案
找到文件plus/diy.php,大概在40行左右搜索:
$dede_fields = empty($dede_fields) ? '' : trim($dede_fields);
在后面加上以下代码:
//增加必填字段判断
if($required!=''){
if(preg_match('/,/', $required))
{
$requireds = explode(',',$required);
foreach($requireds as $field){
if($$field==''){
showMsg('带*号的为必填内容,请完善您的信息!', '-1');
exit();
}
}
}else{
if($required==''){
showMsg('带*号的为必填内容,请完善您的信息!', '-1');
exit();
}
}
}
//end
<form action="/plus/diy.php" enctype="multipart/form-data" method="post">
在下面加上下面代码
<input type="hidden" name="required" value="数据字段名1,数据字段名2,数据字段名3" /> 如:<input type="hidden" name="required" value="czdwmc,xm,sj,ppmc,kd,hhbzzw,ptbzzw" />
用JS判断
红色部分为自定义字段,把以下代码放在</head>之前,
<script type='text/javascript'>
<!--
$(document).ready(function()
{
//验证
$('#complain').submit(function ()
{
if($('#name').val()==""){
$('#name').focus();
alert("用户名不能为空!");
return false;
}
if($('#tel').val()=="")
{
$('#tel').focus();
alert("联系电话不能为空!");
return false;
}
if($('#title').val()=="")
{
$('#title').focus();
alert("标题不能为空!");
return false;
}
if($('#text').val()=="")
{
$('#text').focus();
alert("具体内容不能为空!");
return false;
}
})
});
-->
</script>
上面只能判断数值是否为空,结合正则表达式,能准确判断输入的表单信息是否为规定格式数据。举例说明:
<script type="text/javascript"> $(function(){ $(".btn").click(function(){ var myNum=https://www.91084.com/^[\u4e00-\u9fa5]+$/; if(myNum.test($("#name").val())){}else{alert("请输入中文名字");return false;}; var myNum=https://www.91084.com/^[\u4e00-\u9fa5]+$/; if(myNum.test($("#xq").val())){}else{alert("请输入小区中文名字");return false;}; var mymj=https://www.91084.com/^([1-9][0-9]{1,3})+(.[0-9]{1,4})?$/ if(mymj.test($("#mj").val())){} else{alert("户型面积请输入首位不为零并且在2-4位的有效数字有效数字");return false;}; var myphone=https://www.91084.com/^\d{8,11}$/ if(myphone.test($("#phone").val())){} else{alert("电话位数在8-11位");return false;}; if($("input[type=text]").val()==''){alert("文本框不能为空!");return false;} else {alert("发布成功!请保持电话畅通!客服人员会在24小时之内与您联系!");return true;}});}); </script>