首页 > 代码库 > destoon 信息发布表单提交验证

destoon 信息发布表单提交验证

 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;"‘)}&#123;if !$DT_TOUCH&#125;<br/>

          &#123;/if&#125;&#123;if $DT[schcate_limit]&#125;&#123;/if&#125;<span id="dcatid" class="f_red"></span></td>

</tr>

 

 

 

表单验证函数 check()

&#123;if $action == ‘add‘ || $action == ‘edit‘&#125; 

  <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 =http://www.mamicode.com/= 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;

}

&#123;if $MOD[upload_thumb] && $MG[upload]&#125;

f = ‘thumb‘;

l = Dd(f).value.length;

if(l < 5) {

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

return false;

}

&#123;/if&#125;

&#123;if !$_userid&#125;

f = ‘company‘;

l = Dd(f).value.length;

if(l < 2) {

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

return false;

}

if(Dd(‘areaid_1‘).value =http://www.mamicode.com/= 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;

}

&#123;/if&#125;

&#123;if $FD&#125;{fields_js()}&#123;/if&#125;

&#123;if $CP&#125;{property_js()}&#123;/if&#125;

&#123;if $need_password&#125;

f = ‘password‘;

l = Dd(f).value.length;

if(l < 6) {

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

return false;

}

&#123;/if&#125;

&#123;if $need_question&#125;

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;

}

&#123;/if&#125;

&#123;if $need_captcha&#125;

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;

}

&#123;/if&#125;

return true;

}

var destoon_oauth = ‘&#123;&#36;EXT[oauth]&#125;‘;

</script> 

  &#123;/if&#125;

 

 

技术分享 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‘)&#123;&#36;("html, body").animate({scrollTop:$(‘#d‘+i).offset().top-h&#125;, 100);}

Dd(‘d‘+i).innerHTML = ‘<img src="http://www.mamicode.com/‘+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="http://www.mamicode.com/‘+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 信息发布表单提交验证