sell 模块的form表单如下:

<form method="post" id="dform" action="?" target="send" onsubmit="return check();">

<tr>

<td class="tl"><span class="f_red">*</span> 行业分类</td>

<td class="tr"><div id="catesch"></div>

{ajax_category_select('post[catid]', '选择分类', $catid, $moduleid, $DT_TOUCH ? '' : 'size="2" style="height:120px;width:180px;"')}{if !$DT_TOUCH}<br/>

{/if}{if $DT[schcate_limit]}{/if}<span id="dcatid" class="f_red"></span></td>

</tr>

表单验证函数 check()

{if $action == 'add' || $action == 'edit'}

<script type="text/javascript">

function _p() {

if(Dd('tag').value) {

Ds('reccate');

}

}

function check() {

var l;

var f;

f = 'catid_1';     //存储分类id的隐藏表单

if(Dd(f).value == 0) {

Dmsg('请选择所属分类', 'catid', 1);   //Dmsg 函数在/file/script/common.js  函数详细介绍传送门

return false;

}

f = 'title';

l = Dd(f).value.length;

if(l < 2 || l > 30) {

Dmsg('信息标题应为2-30字,当前已输入'+l+'字', f);    //在dtitle标签显示提示 并且不滚动到dtitle标签,

//如果想要滚动到 用Dmsg('信息标题应为2-30字,当前已输入'+l+'字', f,1);

return false;

}

{if $MOD[upload_thumb] && $MG[upload]}

f = 'thumb';

l = Dd(f).value.length;

if(l < 5) {

Dmsg('请上传第一张产品图片', f);

return false;

}

{/if}

{if !$_userid}

f = 'company';

l = Dd(f).value.length;

if(l < 2) {

Dmsg('请填写公司名称', f);

return false;

}

if(Dd('areaid_1').value == 0) {

Dmsg('请选择所在地区', 'areaid');

return false;

}

f = 'truename';

l = Dd(f).value.length;

if(l < 2) {

Dmsg('请填写联系人', f);

return false;

}

f = 'mobile';

l = Dd(f).value.length;

if(l < 7) {

Dmsg('请填写手机', f);

return false;

}

{/if}

{if $FD}{fields_js()}{/if}

{if $CP}{property_js()}{/if}

{if $need_password}

f = 'password';

l = Dd(f).value.length;

if(l < 6) {

Dmsg('请填写支付密码', f);

return false;

}

{/if}

{if $need_question}

f = 'answer';

l = Dd(f).value.length;

if(l < 1) {

Dmsg('请填写验证问题', f);

return false;

}

if(Dd('c'+f).innerHTML.indexOf('error') != -1) {

Dd(f).focus();

return false;

}

{/if}

{if $need_captcha}

f = 'captcha';

l = Dd(f).value;

if(!is_captcha(l)) {

Dmsg('请填写正确的验证码', f);

return false;

}

if(Dd('c'+f).innerHTML.indexOf('error') != -1) {

Dd(f).focus();

return false;

}

{/if}

return true;

}

var destoon_oauth = '{$EXT[oauth]}';

</script>

{/if}

Dmsg 函数详情

//Dmsg 函数在/file/script/common.js

//str-提示信息

//i-需要验证表单id ,例如 catid,title

//s-滚动到提示表单位置的开关 1-滚动,0-不滚动,提示信息是显示到id名为“d”+i的标签里的,所以页面上必须有个 dcatid 和 dtitle才行

//t-显示提示信息的时间,显示一会后会自动隐藏

function Dmsg(str, i, s, t) {

var t = t ? t : 5000; //t的默认值是5000,如果没有传t参数则默认5000毫秒。

var s = s ? 1 : 0;    //s的默认值是0

var h = i == 'content' ? 450 : 50;  //表单高度

try{

if(typeof Dbrowser != 'undefined') {alert(str);return;}

if(s || i == 'content'){$("html, body").animate({scrollTop:$('#d'+i).offset().top-h}, 100);}

Dd('d'+i).innerHTML = '<img src="'+SKPath+'image/check_error.gif" width="12" height="12" align="absmiddle"/> '+str+sound('tip');

Dd(i).focus();

}catch(e){}

window.setTimeout(function(){Dd('d'+i).innerHTML = '';}, t);

}

destoon 升级了 dmsg函数  但是这个函数也不好用

function Dmsg(str, i, s, t) {

var t = t ? t : 5000; var s = s ? true : false;

try{if(s){window.scrollTo(0,0);}Dd('d'+i).innerHTML = '<img src="'+SKPath+'image/check_error.gif" width="12" height="12" align="absmiddle"/> '+str+sound('tip');Dd(i).focus();}catch(e){}

window.setTimeout(function(){Dd('d'+i).innerHTML = '';}, t);

}

destoon 信息发布表单提交验证的更多相关文章

  1. amazeUI表单提交验证--input框required

    效果: html: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> < ...

  2. aspx中的表单验证 jquery.validate.js 的使用 以及 jquery.validate相关扩展验证(Jquery表单提交验证插件)

    这一期我们先讲在aspx中使用 jquery.validate插件进行表单的验证, 关于MVC中使用 validate我们在下一期中再讲     上面是效果,下面来说使用步骤 jQuery.Valid ...

  3. Angualr6表单提交验证并跳转

    在Angular6中,使用NG-ZRROR作为前端开发框架,在进行表单开发时遇到了一些问题,最后解决了,在此记录. 1.表单构造: 引入forms: import { FormGroup, FormB ...

  4. 原生JS 表单提交验证器

    转载:http://www.cnblogs.com/sicd/p/4613628.html 一.前言 最近在开发一个新项目,需要做登陆等一系列的表单提交页面.在经过“缜密”的讨论后,我们决定 不用外部 ...

  5. CodeIgniter典型的表单提交验证代码

    view内容: <?php echo form_open('user/reg'); ?> <h5>用户名</h5> <input type="tex ...

  6. easyui表单提交验证form

    方式一,不需要考虑jquery.easyui.min.js版本 <script> $(function () { //针对 设置 novalidate:true $('.validateb ...

  7. js 日期格式、内容合法、比较大小、表单提交验证

    1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8"/> 5 &l ...

  8. PHP表单提交验证各种方式

    <!DOCTYPE unspecified PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www. ...

  9. ng 表单提交验证

    http://www.runoob.com/try/try.php?filename=try_ng_validate

随机推荐

  1. jmeter接口测试-调用java的jar包-csv参数化请求-BeanShellPreProcessor生成验签作为请求验证参数-中文乱码----实战

    背景及思路: 需求:要做 创建新卡 接口的测试,要求: 1. 不需要每次手动修改请求参数. 方案:文中先用excle将数据准备好,导出为csv格式,再用jmeter的csv请求进行参数化 2. 卡号需 ...

  2. CF914D Bash and a Tough Math Puzzle 线段树+gcd??奇怪而精妙

    嗯~~,好题... 用线段树维护区间gcd,按如下法则递归:(记题目中猜测的那个数为x,改动次数为tot) 1.若子区间的gcd是x的倍数,不递归: 2.若子区间的gcd是x的倍数,且没有递归到叶子结 ...

  3. python大战机器学习——支持向量机

    支持向量机(Support Vector Machine,SVM)的基本模型是定义在特征空间上间隔最大的线性分类器.它是一种二类分类模型,当采用了核技巧之后,支持向量机可以用于非线性分类. 1)线性可 ...

  4. jQuery实现全选反选功能

    废话不说,直接上代码! <html> <head> <meta http-equiv="Content-Type" content="tex ...

  5. (转)网站DDOS攻击防护实战老男孩经验心得分享

    网站DDOS攻击防护实战老男孩经验心得分享 原文:http://blog.51cto.com/oldboy/845349

  6. C# 实现Tree,包含parentId和children

    1.先定义一个类型 public class Node { [JsonProperty(PropertyName = "id", NullValueHandling = NullV ...

  7. linux中c表示字符设备文件符号

    linux中c表示字符设备文件,b表示块设备文件,l表示符号链接文件,r表示可读权限,w表示可写权限.linux文件属性解读:文件类型:-:普通文件 (f)d:目录文件b:块设备文件 (block)c ...

  8. windows下指定端口号起步memcached

    双击.exe启动的话,默认启动的端口是11211 ,要指定端口的话加 -p + 端口号,如: E:\tools\memcached-1.4.5-win32>memcached-1.4.5.exe ...

  9. 模板引擎doT.js

    作为一名前端攻城师,经常会遇到从后台ajax拉取数据再显示在页面的情境,一开始我们都是从后台拉取再用字符串拼接的方式去更达到数据显示在页面! <!-- 显示区域 --> <div i ...

  10. js屏蔽鼠标右键事件

    <script type="text/javascript">function stops(){ return false;}document.oncontextmen ...