当前位置:首页 > CMS教程 > Thinkphp > 列表

ThinkPHP结合JQeury实现POST提交数据

发布:smiling 来源: PHP粉丝网  添加日期:2014-04-19 14:25:28 浏览: 评论:0 

网站后台修改数据时,需要重打开页面修改吗?不用了,使用下面的方法即可实现:

html代码:

  1. <table name="unit" border=1> 
  2.      <volist name="u_list" id="vo"> 
  3.      <tr id={$vo.id}>//通过此处的ID获取数据表中的ID字段 
  4.       <td width=20name="u_name"> 
  5.        {$vo.u_name} 
  6.       </td> 
  7.       <td width=30name="href"> 
  8.        {$vo.href} 
  9.       </td> 
  10.       <td width=20%> 
  11.        <a href="__URL__/del/id/{$vo.id}" onclick="return del();">[&nbsp;删除&nbsp;]</a> 
  12.       </td> 
  13.      </tr> 
  14.      </volist> 
  15.      <tr> 
  16. <td colspan=5>{$page}</td> 
  17.      </tr> 
  18.     </table> 

JQuery代码:

  1. $("tr>td").dblclick(function(){ 
  2.  var inval = $(this).html();//获取原有的内容 
  3.  var inname = $(this).attr("name");//获取html代码中的name值即数据表中是哪个字段 
  4.  var inid = $(this).parents().attr("id");//获取需要修改的数据的ID 
  5.  //alert(inval); 
  6.  $(this).html("<input type='text' id='edit' value='"+inval+"' style='width:300px;'>");//把原有内容放在这里 
  7.  $("#edit").focus().live("blur",function(){ 
  8.   var editval = $(this).val(); 
  9.   $(this).parents("td").html(editval); 
  10.   $.post("save",{id:inid,ziduan:inname,val:editval});//通过JQ的AJAX方法中的POST方法提交数据至Action 
  11.  }); 
  12. }); 

ThinkPHP中的Action代码:

  1. <?php 
  2. calss UnitAction extends Action{ 
  3.  function save(){ 
  4.   $id=$_POST['id']; 
  5.   $ziduan=$_POST['ziduan']; 
  6.   $val=$_POST['val']; 
  7.   $u_info=M('Unit'); 
  8.   $u_info->where('id='.$id)->setField($ziduan,$val)->save(); 
  9.  } 
  10. ?> 

在处理中出现了个低级错误,就是在最后在Action中:

  1. <?php 
  2. calss UnitAction extends Action{ 
  3.  function save(){ 
  4.   $id=$_POST['id']; 
  5.   $data['u_name']=$_POST['u_name']; 
  6.   $data['href']=$_POST['href']; 
  7.   $u_info=M('Unit'); 
  8.   $u_info->where('id='.$id)->->save($data); 
  9.  } 
  10. ?> 

把具体的字段值给代进去了,以至于怎么修改都不对,还好还好,及时发现了这个错误并改正了回来,记录一下,以作参考用.

Tags: ThinkPHP JQeury POST提交数据

分享到: