更多



DeDeCMS自定义表单实现字段默认为必填项 不指定

郝聪 , 2018/01/08 18:35 , 建站优化 , 评论(0) , 阅读(4133) , Via 本站原创 | |

默认的dedecms自定义表单却没有必填项的设置,如果要设置织梦自定义表单的必填项,需要进行额外的修改!

步骤一:通过修改程序源文件实现数据入库前的必填验证

1、编辑 /plus/diy.php文件,在第40行左右找到代码:

XML/HTML代码
    ????
  1. $dede_fields = empty($dede_fields) ? '' : trim($dede_fields);??

2、在这行代码下面,添加以下代码后保存文件:

XML/HTML代码
    ????
  1. //增加必填字段判断??
  2. ????
  3. if($required!=''){??
  4. ????
  5. ????if(preg_match('/,/', $required)){??
  6. ????
  7. ????????$requireds = explode(',',$required);??
  8. ????
  9. ????????foreach($requireds as $field){??
  10. ????
  11. ????????????if($$field==''){??
  12. ????
  13. ????????????????showMsg('带*号的为必填内容,请正确填写', '-1');??
  14. ????
  15. ????????????????exit();??
  16. ????
  17. ????????????}??
  18. ????
  19. ????????}??
  20. ????
  21. ????}else{??
  22. ????
  23. ????????if($required==''){??
  24. ????
  25. ????????????showMsg('带*号的为必填内容,请正确填写', '-1');??
  26. ????
  27. ????????????exit();??
  28. ????
  29. ????????}??
  30. ????
  31. ????}??
  32. ????
  33. }??
  34. ????
  35. //end??

3、在创建的自定义表单中找到代码:

XML/HTML代码
    ????
  1. <form action="/plus/diy.php" enctype="multipart/form-data" method="post">??

在上述代码下面,添加代码:

XML/HTML代码
    ????
  1. <input type="hidden" name="required" value="数据字段名,数据字段名" />??

注意这行代码要修改下,根据你的表单所需要设置的必填项,例如设置“姓名”、“邮箱”为必填项。示例:

XML/HTML代码
    ????
  1. <input type="hidden" name="required" value="name,email" />??

5、保存后,必填项设置完成,当用户提交表单时间,系统检查到必填项没有输入内容,就会提示“带*号的为必填内容,请正确填写”。

步骤二:通过javascript脚本代码实现页面数据必填检测

1、把以下代码保存为bitian.js文件:

XML/HTML代码
    ????
  1. $(document).ready(function() { //complain为自定义表单的ID,如果生成的表单没有可以自行加上,即 id="complain"
  2. ????
  3. ????//验证??
  4. ????
  5. ????$('#complain').submit(function () { //#name为要验证表单中的ID,如想让用户名不能为空,在后台用户名的数据字段名设为name,下同
  6. ????
  7. ????????if($('#name').val()==""){??
  8. ????
  9. ????????????$('#name').focus();??
  10. ????
  11. ????????????alert("用户名不能为空!");??
  12. ????
  13. ????????????return false;??
  14. ????
  15. ????????}??
  16. ????
  17. ????????if($('#tel').val()=="") {??
  18. ????
  19. ????????????$('#tel').focus();??
  20. ????
  21. ????????????alert("联系电话不能为空!");??
  22. ????
  23. ????????????return false;??
  24. ????
  25. ????????}??
  26. ????
  27. ????????if($('#title').val()=="") {??
  28. ????
  29. ????????????$('#title').focus();??
  30. ????
  31. ????????????alert("标题不能为空!");??
  32. ????
  33. ????????????return false;??
  34. ????
  35. ????????}??
  36. ????
  37. ????????if($('#text').val()=="") {??
  38. ????
  39. ????????????$('#text').focus();??
  40. ????
  41. ????????????alert("具体内容不能为空!");??
  42. ????
  43. ????????????return false;??
  44. ????
  45. ????????}??
  46. ????
  47. ????})??
  48. ????
  49. });??

2、在表单模板文件中,调用中添加上面的JS文件:

XML/HTML代码
    ????
  1. <script src='文件路径/js.js' type="text/javascript">script>??

最后编辑: 郝聪 编辑于2018/01/09 09:23
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]

?