php 异步更新

js页面  jquery代码

//在页面加载时候,就使td节点具有click点击能力
$(document).ready(function(){
    var tdNods = $("li");
    tdNods.click(tdClick);
});
//td的点击事件
function tdClick(){
    //将td的文本内容保存
    var td = $(this);
获得fd的值,将这个值传递到post进行数据库操作
var infd = $(this).attr("fd");
    var tdText = td.text();
    //将td的内容清空
    td.empty();
    //新建一个输入框
    var input = $("<input>");
    //将保存的文本内容赋值给输入框
    input.attr("value",tdText);
    //将输入框添加到td中
    td.append(input);
    //给输入框注册事件,当失去焦点时就可以将文本保存起来
    input.blur(function(){
        //将输入框的文本保存
        var input = $(this);
var inputText = input.val();
        //将td的内容,即输入框去掉,然后给td赋值
        var td = input.parent("li");
        td.html(inputText);
用ajax的post方法,可以将更改后的值传递到post页面然后在post页面进行处理。
$.post("post.php",{val:inputText,fd:infd});
        //让td重新拥有点击事件
        td.click(tdClick);
    });
    input.keyup(function(event){
        //1.获取当前用户按下的键值
              //解决不同浏览器获得事件对象的差异,
             // IE用自动提供window.event,而其他浏览器必须显示的提供,即在方法参数中加上event
           var myEvent = event || window.event;
           var keyCode = myEvent.keyCode;
           //2.判断是否是ESC键按下
           if(keyCode == 27){
               //将input输入框的值还原成修改之前的值
               input.val(tdText);
           }
    });
    //将输入框中的文本高亮选中
    //将jquery对象转化为DOM对象
    var inputDom = input.get(0);
    inputDom.select();
    //将td的点击事件移除
    td.unbind("click");
}
可以更改容器的样式,当前用的是li标签,可以用td来代替
 
 
前台页面
 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
        "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <title>jquery示例3:可修改的表格</title>
    <script type="text/javascript" src="jquery-1.5.1.js"></script>
    <script type="text/javascript" src="jqueryEditUseBlur.js"></script>
 
</head>
<body>   
 
<ol>
 <?php
 
$con = mysql_connect("localhost","root","");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }
 
mysql_select_db("test", $con);
 
$result = mysql_query("SELECT * FROM student where id = 1");
 
while($row = mysql_fetch_array($result))
  {
?>
           
               <li  fd="name"><?php echo $row['name']?></li>
               <li fd="tel"><?php echo $row['tel']?></li>
          
<?php
  }
?>
 </ol>
  
<table>
<thead>
<tr><th>标题</th><th>时间</th><th>地点</th></tr>
</thead>
<tbody>
<tr id="a"> 
<td fd="t">PHP100视频1</td><td fd="d">2011</td><td fd="a">上海</td></tr>
<tr  id="b"> 
<td fd="t">PHP100视频2</td><td fd="d">2012</td><td fd="a">杭州</td></tr>
<tr  id="c"> 
<td fd="t">PHP100视频3</td><td fd="d">2011</td><td fd="a">济南</td></tr>
<tr  id="d"> 
<td fd="t">PHP100视频4</td><td fd="d">2011</td><td fd="a">北京</td></tr>
</tbody>
</table>
</body>
</html>
 
post处理页面
 
 <?php
$con = mysql_connect("localhost","root","");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }
 
mysql_select_db("test", $con);
?>
<?php
if(!empty($_POST['val'])){
echo $fd=$_POST['fd'];
echo $val=$_POST['val'];
   $sql = "update student set `$fd`='$val' where `id`='1'";
   echo $sql;
 mysql_query($sql);
}
?>

转载于:https://www.cnblogs.com/mexingchi/archive/2013/01/31/2886631.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值