POST TIME:2020-04-12 21:43
前面通過制作“在線報名”講解了制作織夢dedecms自定義表單以及調用表單的方法,一般制作反饋表單都會設置有必填項,比如姓名、電話等,但是默認的dedecms自定義表單卻沒有必填項的設置,如果要設置織夢自定義表單的必填項,需要進行額外的修改!
方法一:通過修改程序源文件實現
1、在plus文件夾下找到diy.php文件,對其進行編輯,在第40行左右找到代碼:
1 | $dede_fields = empty($dede_fields) ? '' : trim($dede_fields); |
2、在這行代碼下面,添加以下代碼后保存文件:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | //增加必填字段判斷 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 |
3、在創建的自定義表單中找到代碼:
1 | <form action="/plus/diy.php" enctype="multipart/form-data" method="post"> |
4、在這行代碼下面,添加代碼:
1 | <input type="hidden" name="required" value="數據字段名,數據字段名" /> |
注意這行代碼要修改下,根據你的表單所需要設置的必填項,例如設置“姓名”、“郵箱”為必填項。
添加新字段–“表單提示文字”:姓名–“字段名稱”:name
添加新字段–“表單提示文字”:郵箱–“字段名稱”:email
如:
1 | <input type="hidden" name="required" value="name,email" /> |
5、保存后,必填項設置完成,當用戶提交表單時間,系統檢查到必填項沒有輸入內容,就會提示“帶*號的為必填內容,請正確填寫”。
方法二:通過javascript腳本代碼實現檢測
1、把以下代碼保存為bitian.js文件:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | $(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; } }) }); |
提醒:
1 2 | $('#complain').submit(function () //complain為自定義表單的ID,如果生成的表單沒有可以自行加上,即 id="complain" if($('#name').val()==""){$('#name').focus(); //#name為要驗證表單中的ID,如想讓用戶名不能為空,在后臺用戶名的數據字段名設為name,下同 |
2、在表單模板文件中添加調用代碼:
1 | <script src='文件路徑/js.js' type="text/javascript"></script> |
3、保存后,重新生成網頁!