怎样给Dedecms织梦网站自定义表单设置必填项

怎样给Dedecms织梦网站自定义表单设置必填项,第1张

1.编辑器打开plusdiy.php

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

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

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

//增加必填字段判断?

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

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,然后复制以下内容粘贴保存,代码:

<!--?

$(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?

}?

})?

})?

-->

注:

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

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

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

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

希望本文所述对大家的dedecms建站有所帮助。

第一:在织梦自定义表单中添加联动类型

织梦自定义表单中默认情况下是没有联动类型这个选项,要想实现城市联动功能就必须要有联动类型,下面教你怎么调用出联动类型,原因就是织梦官方默认把联动类型在自定义表单中注释掉了,我们让他显示就可以。

第二:在织梦自定义表单中做城市二级三级联动

第三:在织梦自定义表单做城市二级三级联动,后台类型名称显示数字解决方法

首先我们要用一段php代码来判断验证码为必选项

1.找到文件plus,然后在plus/diy.php文件中的第40行中加上以下代码:

//增加必填字段判断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

2

我们在自定义表单的dedecms模板上加上下面的代码:

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

这样就可以限制自定义表单为必选项。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/bake/11869314.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存