Ajax疊加(Ajax返回資料用Ajax發出)

來源:互聯網
上載者:User

      

       最近在做人事管理系統的一個簽到功能,首先是把部門當做參數,把參數用Ajax發送到資料庫進行查詢,然後以表格形式動態產生員工資訊到返回頁面的Div裡,表格最後的一列是簽到按鈕,這時我想用JQuery繼續擷取被點擊的“簽到”按鈕,然後用Ajax將資料發送到資料庫簽到表,更新簽到表,於是我就把每個簽到按鈕的id屬性設定成第一次Ajax返回的每個員工資訊的工號,再次用JQuery擷取,怎麼擷取呢?想到了標籤加事件選取器,於是寫了下面代碼:

  

       $(function(){

             $("tr input:button").click(){

                    $.ajax({
                    type: "POST",
                    url: "page_helper.ashx",
                    data: "name=K&pid" + $(this).attr("id"),
                    success: function (html) {
                        $("#ReturnHTML").html(html);
                    },
                    error: function () {
                        alert("伺服器繁忙,請稍後再試!");
                    }
                });

              }

         });

         

       可是後來點擊卻發現沒有擷取到點擊事件,點擊按鈕根本就沒有反應,當我用瀏覽器查看返回的源碼的時候,發現原來Ajax返回的HTML代碼根本就沒有被添加到頁面中,這回怎麼辦呢?後來去百度裡檢索了半天,都說Ajax返回的資料無法用瀏覽器查看到源碼,因為是非同步,檢索了一天,頭又大又疼,於是就晚上了,每次遇到大的問題,就趕緊睡覺,在夢中想實現方法,這樣一方面可以休息,另一方面也可以解決問題,一般的時候第二天問題都會有答案,也都能實現。


       第二天早晨醒來,思路還是沒有,我想這次應該是大問題了,是不是我想要實現的不可能實現呢?百度裡幾乎沒有用兩次Ajax請求的,無奈之下在QQ空間發布了懸賞求助,懸賞是宴請三天三夜,後來終於我偉大的高中同學給了我協助,當然不是因為懸賞才協助我的,哈哈哈。

 

       高中同學是這麼說的,Jquery中有個live方法,可以擷取動態產生的HTML代碼元素,後來我就把live方法敲了進去,看了有三個參數event,data,function;於是查看了Jquery的協助文檔。

       event:必需,規定附加到元素的一個或多個事件,由空格分隔多個事件。必須是有效事件。

       data:可選,規定傳遞到該函數的額外資料。

       function:必需,規定當前事件發生時啟動並執行函數。


      這時的我這時大旱逢甘霖啊,於是寫下下面代碼:

      $(function(){

              $("tr input:button").live("click", function () {


                    $.ajax({

                        type: "POST",


                        url: "page_helper.ashx",


                        data: "name=JS&pid=" + $(this).attr("id") + jsparam(),


                        success: function (html) {


                            alert(html);
                        },


                        error: function () {


                            alert("伺服器繁忙,請稍後再試!");
                    });
                }
            });

       這次奇蹟出現了,Ajax返回的按鈕單擊事件被擷取到了,下面的Ajax非同步過程也調用成功了,那種喜悅不能言表。

       

        如果我放棄了這次求助,以後遇到同樣的問題,我可能換一種思路,會用a標籤代替按鈕,跳轉到另一介面,操作起來太麻煩了,哪個使用者見到這樣的效果都會噁心至極,同學這樣的協助豈三天三夜的宴請足矣?

  


相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.