好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

ThinkPHP结合JQeury实现POST提交数据 - Thinkphp

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();" > [&nbsp;删除&nbsp;] </ 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" ); //获取html代码中的name值即数据表中是哪个字段     var  inid = $( this ).parents().attr( "id" ); //获取需要修改的数据的ID     //alert(inval);    $( 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}); //通过JQ的AJAX方法中的POST方法提交数据至Action    });  }); 

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 );   }  }  ?> 

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

查看更多关于ThinkPHP结合JQeury实现POST提交数据 - Thinkphp的详细内容...

  阅读:71次