首页 > PHP资讯 > PHP培训技术 > ThinkPHP结合JQeury实现POST提交数据

ThinkPHP结合JQeury实现POST提交数据

PHP培训技术

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

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();">[ 删除 ]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("+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. calss UnitAction extends Action{ 
  2.  function save(){ 
  3.   $id=$_POST['id']; 
  4.   $ziduan=$_POST['ziduan']; 
  5.   $val=$_POST['val']; 
  6.   $u_info=M('Unit'); 
  7.   $u_info->where('id='.$id)->setField($ziduan,$val)->save(); 
  8.  } 
  9. ?> 

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

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

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

PHP培训技术

本文由欣才IT学院整理发布,未经许可,禁止转载。
支持14不支持0