首先得引入 jquery 文件,另外定义一个处理的 js.js 文件
如实现用 post 传输方法:
模板文件:
<script type="text/javascript">
var handleUrl = '{:U("process", '', '')}'; //如果是分组的,要给完整的处理方法路径,如 '{:U(分组名/模块/操作名, '', '')}'
// U 函数后面的两个空参数除去不必要的内容,让其映射到特定的操作名
</script>
<form action="" method="post" name="wishform">
<input type="text" name="username" id="user" /><br />
<textarea cols="30" rows="3" name="content" id="content"></textarea>
<br />
<input type="submit" value="submit" name="submit" id="sub" />
</form>
js.js 内容如下:
$(document).ready(function(){
$('#sub').click(function(){
var user = $('input[name=username]');
var content = $('textarea[name=content]');
if(user.val() == ''){
alert("USER: 不能为空!");
return false;
}
if(content.val() == ''){
alert("Content: 不能为空!");
return false;
}
// $.post(处理的函数名称,{格式选项属性},用于处理返回数据的函数, 数据格式)
$.post(handleUrl,{username:user.val(),content:content.val()}, function(data){
if(data.status){
alert("发布成功!");
}else{
alert("发布失败!");
}
}, 'json');
return false; // 防止冒泡发生。。。
});
});
handleUrl 操作(在控制器中添加):
public function handle(){
// 判断是不是 ajax 提交
if(!IS_AJAX) halt('非法提交');
// 获取提交过来的数据
$data = array(
'username'=>I('username'),
'content'=>I('content'),
'time'=>time()
);
//添加到数据库以及作反应返回
if(M('数据表名')->data($data)->add()){
$data['status'] = 1;
$this->ajaxReturn($data,'json');
}else{
$data['status'] = 0;
$this->ajaxReturn(array('status'=>0),'json');
}
}
如实现用 get 传输方法:
模板文件:
<script type="text/javascript">
var handleUrl = '{:U("process", '', '')}'; //如果是分组的,要给完整的处理方法路径,如 '{:U(分组名/模块/操作名, '', '')}'
// U 函数后面的两个空参数除去不必要的内容,让其映射到特定的操作名
</script>
</head>
<body>
<form action="" method="get" name="wishform">
<input type="text" name="username" id="user" /><br />
<textarea cols="30" rows="3" name="content" id="content"></textarea>
<br />
<input type="submit" value="submit" name="submit" id="sub" />
</form>
js.js 文件:
$(document).ready(function(){
$('#sub').click(function(){
var user = $('input[name=username]');
var content = $('textarea[name=content]');
if(user.val() == ''){
alert("USER: 不能为空!");
return false;
}
if(content.val() == ''){
alert("Content: 不能为空!");
return false;
}
htmlobj = $.ajax({url:handleUrl+'?username='+user.val()+'&content='+content.val(), async:false});
alert(htmlobj.responseText);
return false;
});
});
handleUrl 操作(在控制器中添加):
public function handle(){
// 判断是不是 ajax 提交
if(!IS_AJAX) halt('非法操作');
// 获取提交过来的数据
$username=I('username'),
$content=I('content'),
// 作为 responseText() 返回
echo '要显示的信息';
}