帝國cms后臺(tái)發(fā)信息最怕點(diǎn)擊提交后,提示標(biāo)題重復(fù)又要重新寫一遍?,F(xiàn)在給大家分享一款實(shí)時(shí)驗(yàn)證標(biāo)題的方法,這樣就可以避免出現(xiàn)重復(fù)的信息。
1、帝國cms后臺(tái) - 管理數(shù)據(jù)表 - 找到自己使用的數(shù)據(jù)表 - 修改title字段 - 輸入表單使用下面的代碼
找到代碼
<inputtype=textname=titlevalue="<?=ehtmlspecialchars(stripSlashes($r[title]))?>"size="60">
替換為
<inputtype=textname=titlevalue="<?=ehtmlspecialchars(stripSlashes($r[title]))?>"size="60"onblur="checkTitle()">
在輸入表單最下面加入如下代碼
<script type="text/javascript"src="http://apps.bdimg.com/libs/jquery/1.9.0/jquery.min.js"></script> <script type="text/javascript"> functioncheckTitle() { varclassid=<?=$_GET[classid]?>; varid=<?=$_GET[classid]?>; vartit=document.add.title.value; console.log("我是標(biāo)題="+tit); console.log("我是classid="+classid); console.log("我是id="+id); $.ajax({ url: 'ReTitleAjax.php?classid='+classid+'&id='+id+'&title='+tit, dataType:"json", cache: false, error: function(){ alert("檢測失敗,請(qǐng)重試"); }, success: function(data){ if(data==1){ alert('重復(fù)標(biāo)題'); } if(data==0){ //alert('可以添加信息'); console.log("可以添加信息"); } } }); } </script>
接著新建一個(gè)php文件,保存在 /e/admin/ReTitleAjax.php ,代碼如下
define('EmpireCMSAdmin','1'); require("../class/connect.php"); require("../class/db_sql.php"); require("../class/functions.php"); requireLoadLang("pub/fun.php"); require("../data/dbcache/class.php"); $link=db_connect(); $empire=newmysqlquery(); $editor=1; //驗(yàn)證用戶 $lur=is_login(); $logininid=$lur['userid']; $loginin=$lur['username']; $loginrnd=$lur['rnd']; $loginlevel=$lur['groupid']; $loginadminstyleid=$lur['adminstyleid']; $classid=(int)$_GET['classid']; $id=(int)$_GET['id']; $title=AddAddsData($_GET['title']); $where=''; if($id) { $where=' and id<>'.$id; } //已審核 $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_".$class_r[$classid][tbname]." where title='".addslashes($title)."'".$where." limit 1"); //未審核 if(emptyempty($num)) { $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_".$class_r[$classid][tbname]."_check where title='".addslashes($title)."'".$where." limit 1"); } echojson_encode($num);
上面是采用post查詢返回json結(jié)果的方式來實(shí)現(xiàn)查重,我們還可以通過get方式,js函數(shù)如下:
<script type="text/javascript"> functioncheckTitle() { varclassid='<?=$_GET[classid]?>'; varid='<?=$_GET[id]?>'; vartit=document.add.title.value; varanswerurl='ReTitleAjax.php'; $.get(answerurl+"?classid="+classid+'<?=$ecms_hashur['ehref']?>&title='+tit, function(data){ if(data){ if(data==1){ $("#titletips").html("<font color='red'>已經(jīng)存在此名稱,請(qǐng)檢查是否已經(jīng)添加過</font>"); } else{ $("#titletips").html("<font color='green'>可以添加信息</font>"); } returnfalse; } else{ $("#titletips").html("<font color='red'>檢測失敗,請(qǐng)重試</font>"); } }); } </script>
接著在title字段的input后放一個(gè)容器用于存儲(chǔ)提示信息,例如<span id="titletips"></span>,還可以通過在出現(xiàn)重復(fù)時(shí)禁用其他input輸入等方式來限制,這里只是給出原理,大家可在此基礎(chǔ)上發(fā)揮。
版權(quán)聲明: 本站資源均來自互聯(lián)網(wǎng)或會(huì)員發(fā)布,如果侵犯了您的權(quán)益請(qǐng)與我們聯(lián)系,我們將在24小時(shí)內(nèi)刪除!謝謝!
轉(zhuǎn)載請(qǐng)注明: 帝國cms二次開發(fā)AJAX驗(yàn)證標(biāo)題是否重復(fù)