Fw: [問題] 用JS or jQury偵測text的自動完成

看板Web_Design作者 (上班族之朝九晚六?!)時間14年前 (2012/01/31 21:45), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
※ [本文轉錄自 Ajax 看板 #1F9-wAeC ] 作者: shiengchyi (上班族之朝九晚六?!) 看板: Ajax 標題: [問題] 用JS or jQury偵測text的自動完成 時間: Tue Jan 31 21:37:12 2012 小弟想問一下版上的大大, 有沒有辦法用JS 或者 JQury去偵測瀏覽器的自動完成, 就是當只使用滑鼠執行瀏覽器自動完成的時候,要怎麼根據Text的值改變, 去觸發Event。 流程: 1.將滑鼠移到Text上 2.滑鼠左鍵兩下,觸發瀏覽器內建的自動完成。 [畫面:Text的下方會出現一個選單,紀錄之前輸入過的值] 3.用滑鼠點選自動完成選單當中的某一個數值,該數值會自動顯示在Text當中。 小弟我試過onChange、onBeforePaste、onBlur都沒辦法觸發。 最後發狠,在body寫了一個 onload="javascript:timeDetect('目標TextID', '隱藏TextID', '隱藏Link ButtonID')" function timeDetect(txtVal, txtPreVal, hidBtn) { var txt = document.getElementById(txtVal); //取得目前欄位中的文字內容 var txtBefore = document.getElementById(txtPreVal); //隱藏欄位,用來暫存前一個文字內容 var btn = document.getElementById(hidBtn); //判定是否回傳條件==>前後內容不同,目前內容已符合輸入長度 if (txt != null && txtBefore != null && btn != null) { if (((txt.value != txtBefore.value) && (txt.value.length == 5))) { txtBefore.value = txt.value; btn.click(); //執行PostBack動作,點擊隱藏按鈕以觸發回傳動作 } else { var t = setTimeout("timeDetect('" + txtVal + "', '" + txtPreVal + "', '" + hidBtn + "')", 10); } } } 用這樣的方式,來處理自動完成。 想請問版上的大大,有沒有其他的辦法,來達成目的, 感覺用onload很無奈,因為它是一直針對Text偵測, 如果同一個畫面裡面有多個Text要這樣玩,就難笑了。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 60.251.71.22 ※ 發信站: 批踢踢實業坊(ptt.cc) ※ 轉錄者: shiengchyi (60.251.71.22), 時間: 01/31/2012 21:45:05
文章代碼(AID): #1F9_1YCH (Web_Design)
文章代碼(AID): #1F9_1YCH (Web_Design)