• asp+jquery可编辑表格更新到数据库


    客户要求后台直接点击修改数据,使用jquery可以很容易实现,不过过程中还不是那么顺利,调试的过程中,发现要引入js脚本,必须使用 type="text/javascript"而不是language="javascript"或者type="javascript"。

    1.这里为了方便演示,就静态的显示数据了;

     <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
     <html xmlns="http://www.w3.org/1999/xhtml"> 
     <head> 
         <title>JQuery实现可编辑的表格</title> 
         <link href="editTable.css" rel="stylesheet" type="text/css" /> 
         <script src="jquery.js" type="text/javascript"></script> 

     </head> 
      <body> 
          <table> 
              <tr><th>1</th><th>2</th><th>3</th><th>4</th><th>5</th></tr>
              <tr>
                  <td >1235467</td> 
                  <td >987654321</td>
                  <td >987654321</td>
                <td >123546789</td> 
                  <td > 987654321</td> 
              </tr> 
              <tr> 
                  <td >12354678</td> 
                  <td >987654321</td>
                  <td >987654321</td>
                <td >123546789</td> 
                  <td > 987654321</td> 
              </tr>
              <tr> 
                  <td >123546789</td> 
                  <td >987654321</td>
                  <td >987654321</td>
                <td >123546789</td> 
                  <td > 987654321</td> 
              </tr>
        </table>
      </body> 
      </html> 
    <script type="text/javascript">
        $(function(){      //相当于在页面中的body标签加上onload事件 
            //找到所有的td节点 
            var tds=$("td"); 
            //给所有的td添加点击事件 
            tds.click(function(){ 
                //获得当前点击的对象 
                var td=$(this); 
                //取出当前td的文本内容保存起来 
               var oldText=td.text(); 
               //建立一个文本框,设置文本框的值为保存的值    
               var input=$("<input type='text' value='"+oldText+"'/>"); 
               //将当前td对象内容设置为input 
               td.html(input); 
               //设置文本框的点击事件失效 
               input.click(function(){ 
                   return false; 
               }); 
               //设置文本框的样式 
               input.css("border-width","0");               
               input.css("font-size","16px"); 
               input.css("text-align","center"); 
               //设置文本框宽度等于td的宽度 
               input.width(td.width()); 
               //当文本框得到焦点时触发全选事件   
               input.trigger("focus").trigger("select");  
               //当文本框失去焦点时重新变为文本 
               input.blur(function(){ 
                   var input_blur=$(this); 
                   //保存当前文本框的内容 
                   var newText=input_blur.val();  
                   td.html(newText);  
               });  
               //响应键盘事件 
               input.keyup(function(event){ 
                   // 获取键值 
                   var keyEvent=event || window.event; 
                   var key=keyEvent.keyCode; 
                   //获得当前对象 
                   var input_blur=$(this); 
                   switch(key) 
                   { 
                       case 13://按下回车键,保存当前文本框的内容 
                           var newText=input_blur.val();  
                           td.html(newText);
                           var tdchs = td.parent("tr").children("td");
                           var i = tdchs.eq(0).text();
                           var c = td.attr("name");
                    $.post("save.asp?id="+i+"&column="+c+"&value="+newText,null,function(data){
                        alert(data);
                    });                          
                       break; 
                        
                       case 27://按下esc键,取消修改,把文本框变成文本 
                           td.html(oldText);  
                       break; 
                   } 
               }); 
           }); 
       }); 
    </script>

    2.更新到数据库save.asp

    <HTML xmlns="http://www.w3.org/1999/xhtml">
    <HEAD>
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8" />
    <TITLE>编辑通讯录</TITLE>
    <link rel="stylesheet" href="Images/CssAdmin.css">
    <script type="text/javascript" src="../Script/Admin.js"></script>
    </HEAD>
    <!--#include file="../Include/Const.asp" -->棋牌

    <!--#include file="../Include/ConnSiteData.asp" -->

    <BODY>
    <%
    dim id,col,val
    id = Request.QueryString("id")
    col = Request.QueryString("column")
    val = Request.QueryString("value")
    dim rs
        set rs = server.createobject("adodb.recordset")
        sql="select * from Ameav_Contact where ID = "&id
          rs.open sql,conn,1,3

          rs(col) = val

        rs.update
        rs.close
        set rs=nothing
        response.write "updated"
       
    %>
    </body>
    </html>

  • 相关阅读:
    成都磨子桥技工学校 / 数据结构 Challenge 4
    圆桌问题(网络流24题)
    试题库问题(网络流24题)
    [AHOI2005]航线规划
    [AMPPZ2014]The Prices
    方格取数(网络流24题)
    太空飞行计划问题(网络流24题)
    Linux 学习3
    Linux 学习2
    Linux 学习1
  • 原文地址:https://www.cnblogs.com/sky7034/p/2050197.html
Copyright © 2020-2023  润新知