织梦(dedecms)自定义表单,“必填项”设置方法
先说下,已经试过确定有效:
1.编辑器打开\plus\diy.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' ); //phpfensi测试数据 exit (); } } } //end4.保存完成后,在表单页面找到这行代码:
<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)自定义表单,“必填项”设置方法的详细内容...