本文实例讲述了ThinkPHP中使用ajax的方法,提交表单如下图所示:
点击提交,不需要刷新本页,将内容提交到数据库当中,并在本页显示提交的内容。如下图所示:
一、jquery实现方法:
MessageAction.class.php页面代码如下:
<?php
class 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页面代码如下:
<?php
class 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程序设计有所帮助。