本文執行個體講述了ThinkPHP中使用ajax的方法,提交表單如下圖所示:
點擊提交,不需要重新整理本頁,將內容提交到資料庫當中,並在本頁顯示提交的內容。如下圖所示:
一、jquery實現方法:
MessageAction.class.php頁面代碼如下:
<?phpclass MessageAction extends Action{ function index(){ $this->display(); } function add(){ //ajaxReturn(資料,'提示資訊',狀態) $m=M('message'); if($m->add($_GET)){ $this->ajaxReturn($_GET,'添加資訊成功',1); }else{ $this->ajaxReturn(0,'添加資訊失敗',0); } } }?>
模板index.html代碼如下:
<html><head><script type="text/javascript" src="__PUBLIC__/js/jquery-1.7.1.min.js"></script><script type="text/javascript"> $(function(){ $('input:button').click(function(){ var $title=$('input[name="title"]').val(); var $message=$('input[name="message"]').val(); $mess=$('#mess'); $.getJSON('__URL__/add',{title:$title,message:$message},function(json){ //alert(json);return false; if(json.status==1){ $mess.slideDown(3000,function(){ $mess.css('display','block'); }).html('標題為'+json.data.title+'資訊為'+json.data.message); }else{ $mess.slideDown(3000,function(){ $mess.css('display','block'); }).html('資訊添加失敗,請檢查'); } }); }) })</script></head><body><div style="display:none; color:red;" id="mess"></div><form action="" method="get"> 標題:<input type="text" name="title" /><br /> 資訊:<input type="text" name="message" /><br /> <input type="button" value="提交" /></form></body></html>
二、ThinkPHP實現方法:
MessageAction.class.php頁面代碼如下:
<?phpclass MessageAction extends Action{ function index(){ $this->display(); } function addtwo(){ $m=M('message'); if($vo=$m->create()){ if($m->add()){ $this->ajaxReturn($vo,'添加成功',1); }else{ $this->ajaxReturn(0,'添加失敗',0); } }else{ $this->error($m->getError()); } }}?>
模板index.html代碼如下:
<html><head><script type="text/javascript" src="__PUBLIC__/Js/Base.js"></script><script type="text/javascript" src="__PUBLIC__/Js/prototype.js"></script><script type="text/javascript" src="__PUBLIC__/Js/mootools.js"></script><script type="text/javascript" src="__PUBLIC__/Js/ThinkAjax.js"></script><script type="text/javascript"> function add(){ //ThinkAjax.sendForm(表單ID,URL,回呼函數,資訊顯示的地方); ThinkAjax.sendForm('frm','__URL__/addtwo',wc); } function wc(data,status){ if(status!=1){ alert('發送失敗'); }else{ $('list').innerHTML+='標題'+data.title+',資訊'+data.message; } }</script></head><body><div id="list"></div><form action="" method="POST" id="frm"> 標題:<input type="text" name="title" /><br /> 資訊:<input type="text" name="message" /><br /> <input type="button" value="提交" onClick="add()" /></form></body></html>
感興趣的朋友可以測試回合一下本文所示執行個體,可以加深對Ajax應用的理解。
更多關於thinkPHP相關內容感興趣的讀者可查看本站專題:《ThinkPHP入門教程》、《thinkPHP模板操作技巧總結》、《ThinkPHP常用方法總結》、《smarty模板入門基礎教程》及《PHP模板技術總結》。
希望本文所述對大家基於ThinkPHP架構的PHP程式設計有所協助。