asp+jquery可編輯表格更新到資料庫

來源:互聯網
上載者:User

客戶要求後台直接點擊修改資料,使用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>

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.