POST TIME:2017-11-12 23:44
許多企業(yè)網(wǎng)站會(huì)有提交訂單的功能,dedecms自定義表單制作就能滿足,為了防止用戶惡意提交表單,可以在自定義表單的字段設(shè)置必填項(xiàng)或者判斷輸入的值是否符合規(guī)定的功能,主要有兩種方法處理:修改表單源文件(不靈活,一個(gè)網(wǎng)站有可能提交多個(gè)表單);JS判斷輸入值(推薦)。
大約在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('帶*號(hào)的為必填內(nèi)容,請(qǐng)正確填寫', '-1'); exit(); } } }else{ if($required==''){ showMsg('帶*號(hào)的為必填內(nèi)容,請(qǐng)正確填寫', '-1'); exit(); } } } //end
在自定義表單模板找到
<form action="/plus/diy.php" enctype="multipart/form-data" method="post">
下面加入以下代碼(value="自定義字段")
<input type="hidden" name="required" value="content,name,tel" />
紅色部分為自定義字段,把以下代碼放在</head>之前,
<script type='text/javascript'> <!-- $(document).ready(function() { //驗(yàn)證 $('#complain').submit(function () { if($('#name').val()==""){ $('#name').focus(); alert("用戶名不能為空!"); return false; } if($('#tel').val()=="") { $('#tel').focus(); alert("聯(lián)系電話不能為空!"); return false; } if($('#title').val()=="") { $('#title').focus(); alert("標(biāo)題不能為空!"); return false; } if($('#text').val()=="") { $('#text').focus(); alert("具體內(nèi)容不能為空!"); return false; } }) }); --> </script>
上面只能判斷數(shù)值是否為空,結(jié)合正則表達(dá)式,能準(zhǔn)確判斷輸入的表單信息是否為規(guī)定格式數(shù)據(jù)。舉例說(shuō)明:
<script type="text/javascript"> $(function(){ $(".btn").click(function(){ var myNum=/^[\u4e00-\u9fa5]+$/; if(myNum.test($("#name").val())){}else{alert("請(qǐng)輸入中文名字");return false;}; var myNum=/^[\u4e00-\u9fa5]+$/; if(myNum.test($("#xq").val())){}else{alert("請(qǐng)輸入小區(qū)中文名字");return false;}; var mymj=/^([1-9][0-9]{1,3})+(.[0-9]{1,4})?$/ if(mymj.test($("#mj").val())){} else{alert("戶型面積請(qǐng)輸入首位不為零并且在2-4位的有效數(shù)字有效數(shù)字");return false;}; var myphone=/^\d{8,11}$/ if(myphone.test($("#phone").val())){} else{alert("電話位數(shù)在8-11位");return false;}; if($("input[type=text]").val()==''){alert("文本框不能為空!");return false;} else {alert("發(fā)布成功!請(qǐng)保持電話暢通!客服人員會(huì)在24小時(shí)之內(nèi)與您聯(lián)系!");return true;}});}); </script>
<form action="/plus/diy.php" enctype="multipart/form-data" method="post"> <input type="hidden" name="action" value="post" /> <input type="hidden" name="diyid" value="1" /> <input type="hidden" name="do" value="2" /> <div class="tuancon"> <h3>重慶裝修團(tuán)購(gòu)申請(qǐng),立省5000元</h3> <div class="tuancon_L"> <p><label>我的稱呼<em>*</em></label><input class="form1" type="text" name="name" id="name"/></p> <p><label>我的小區(qū)<em>*</em></label><input class="form1" type="text" name="xq" id="xq"/></p> <p><label>聯(lián)系電話<em>*</em></label><input class="form1" type="text" name="phone" id="phone"/></p> <p><label>Q Q </label><input class="form1" type="text" name="qq" id="qq"/></p> </div> <div class="tuancon_R"> <p><label>戶型面積<em>*</em></label><input class="form1" type="text" name="mj" id="mj"/></p> <p><label>衛(wèi)生間數(shù)</label> <select name='wc'> <option value='1個(gè)'>1個(gè)</option> <option value='2個(gè)'>2個(gè)</option> <option value='2個(gè)以上'>2個(gè)以上</option> </select> </p> <p><label>陽(yáng)臺(tái)面積</label><input class="form1" type="text" name="ytmj" id="ytmj"/></p> <p><label>喜歡風(fēng)格</label> <select name='fg'> <option value='現(xiàn)代簡(jiǎn)約風(fēng)格'>現(xiàn)代簡(jiǎn)約風(fēng)格</option> <option value='地中海風(fēng)格'>地中海風(fēng)格</option> <option value='簡(jiǎn)歐風(fēng)格'>簡(jiǎn)歐風(fēng)格</option> <option value='歐式風(fēng)格'>歐式風(fēng)格</option> <option value='中式風(fēng)格'>中式風(fēng)格</option> <option value='美式風(fēng)格'>美式風(fēng)格</option> <option value='后現(xiàn)代風(fēng)格'>后現(xiàn)代風(fēng)格</option> <option value='新古典風(fēng)格'>新古典風(fēng)格</option> <option value='其他風(fēng)格'>其他風(fēng)格</option> </select> </p> </div> <div class="clear"></div> <div class="sheng_box"><input class="btn1" type="submit" value="免費(fèi)申請(qǐng)裝修"/></div> <input type="hidden" name="dede_fields" value="xq,text;fg,select;name,text;phone,text;mj,float;qq,int;wc,select;ytmj,int" /> <input type="hidden" name="dede_fieldshash" value="c53edcf88ed9787e2fe3266b16e2778a" /> </div> </form>