织梦(dedecms)自定义表单,“必填项”设置方法


avatar
pcwnas 2023-04-21 216

原文来自:https://www.zixuephp.com

织梦(dedecms)自定义表单,“必填项”设置方法

先说下,已经试过确定有效:

1.编辑器打开\plus\diy.php

2.在40行左右找到此行代码:

$dede_fields = empty($dede_fields) ? '' : trim($dede_fields);

3.在这一行代码之下,加入代码,复制的话删掉代码中的空行.

  1. //增加必填字段判断
  2. if($required!=''){
  3. if(preg_match('/,/',$required))
  4. {
  5. $requireds=explode(',',$required);
  6. foreach($requiredsas$field){
  7. if($$field==''){
  8. showMsg('带*号的为必填内容,请正确填写','-1');
  9. exit();
  10. }
  11. }
  12. }else{
  13. if($required==''){
  14. showMsg('带*号的为必填内容,请正确填写','-1');
  15. //phpfensi.com
  16. exit();
  17. }
  18. }
  19. }
  20. //end

4.保存完成后,在表单页面找到这行代码:

<form action="/plus/diy.php" enctype="multipart/form-data" method="post">

在这行代码之下,加入代码:

<input type="hidden" name="required" value="数据字段名,数据字段名" />

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

添加新字段–“表单提示文字”:姓名–“字段名称”:name

添加新字段–“表单提示文字”:邮箱–“字段名称”:email

此行代码应为:

<input type="hidden" name="required" value="name,email" />

这样就把这两个选项设置为必填项了,如果没有填写就提交,会打开窗口提示“带*号的为必填内容,请正确填写”,当然,这一句话可以改成其它的文字.

网上看到另一种方法,未测试,仅作为资料收藏.

js方法:

1.先在要发布表单的模板上加<script src='你的路径/js.js' type="text/javascript"></script>;

2.在你自定义的路径新建文件js.js,然后复制以下内容粘贴保存,代码:

  1. <!–
  2. $(document).ready(function()
  3. {
  4. //验证
  5. $('#complain').submit(function()
  6. {
  7. if($('#name').val()==""){
  8. $('#name').focus();
  9. alert("用户名不能为空!");
  10. returnfalse;
  11. }
  12. if($('#tel').val()=="")
  13. {
  14. $('#tel').focus();
  15. alert("联系电话不能为空!");
  16. returnfalse;
  17. }
  18. if($('#title').val()=="")
  19. {
  20. $('#title').focus();
  21. alert("标题不能为空!");
  22. returnfalse;
  23. }
  24. if($('#text').val()=="")
  25. {
  26. $('#text').focus();
  27. alert("具体内容不能为空!");
  28. returnfalse;
  29. }
  30. })
  31. });
  32. –>

注:

$('#complain').submit(function () //complain为自定义表单的ID,如果生成的表单没有可以自行加上,即 id="complain".

if($('#name').val()==""){

$('#name').focus();//#name为要验证表单中的ID,如想让用户名不能为空,在后台用户名的数据字段名设为name,下同.

3.设置好后更新就可以看到效果了.