ThinkPHP结合JQeury实现POST提交数据
网站后台修改数据时,需要重打开页面修改吗?不用了,使用下面的方法即可实现:
html代码:
- <table name="unit" border=1>
- <volist name="u_list" id="vo">
- <tr id={$vo.id}>//通过此处的ID获取数据表中的ID字段
- <td width=20% name="u_name">
- {$vo.u_name}
- </td>
- <td width=30% name="href">
- {$vo.href}
- </td>
- <td width=20%>
- <a href="__URL__/del/id/{$vo.id}" onclick="return del();">[ 删除 ]</a>
- </td>
- </tr>
- </volist>
- <tr>
- <td colspan=5>{$page}</td>
- </tr>
- </table>
JQuery代码:
- $("tr>td").dblclick(function(){
- var inval = $(this).html();
- var inname = $(this).attr("name");
- var inid = $(this).parents().attr("id");
-
- $(this).html("<input type='text' id='edit' value='"+inval+"' style='width:300px;'>");
- $("#edit").focus().live("blur",function(){
- var editval = $(this).val();
- $(this).parents("td").html(editval);
- $.post("save",{id:inid,ziduan:inname,val:editval});
- });
- });
ThinkPHP中的Action代码:
- <?php
- calss UnitAction extends Action{
- function save(){
- $id=$_POST['id'];
- $ziduan=$_POST['ziduan'];
- $val=$_POST['val'];
- $u_info=M('Unit');
- $u_info->where('id='.$id)->setField($ziduan,$val)->save();
- }
- }
- ?>
在处理中出现了个低级错误,就是在最后在Action中:
- <?php
- calss UnitAction extends Action{
- function save(){
- $id=$_POST['id'];
- $data['u_name']=$_POST['u_name'];
- $data['href']=$_POST['href'];
- $u_info=M('Unit');
- $u_info->where('id='.$id)->->save($data);
- }
- }
- ?>
把具体的字段值给代进去了,以至于怎么修改都不对,还好还好,及时发现了这个错误并改正了回来,记录一下,以作参考用.