2009-12-29 29 views
0

我的問題是:當用戶按下某個鍵時,將顯示一個div,其中所有具有以用戶輸入開頭的firstname的用戶。我必須選擇一些東西。 問題是當用戶輸入一個無效的條目,而不是從showned div中選擇它。如何驗證它 ajax在單獨的div中加載查詢

function getDcode(str) 
{ 
    document.getElementById("codes").style.display = "block"; 
    if (str.length==0) 
    { 
     document.getElementById("codes").innerHTML=""; 
     return; 
    } 
    xmlhttp=GetXmlHttpObject(); 
    if (xmlhttp==null) 
    { 
     alert ("Your browser does not support XMLHTTP!"); 
     return; 
    } 
    var url="<?php print WEB_URL?>load_code/"; 
    url = url + str; 
    xmlhttp.onreadystatechange=stateChanged; 
    xmlhttp.open("GET",url,true); 
    xmlhttp.send(null); 
} 
+0

請考慮格式化你的代碼。所以這將很容易閱讀 – ukanth 2009-12-29 16:19:24

回答

0

我相信想有一個自動完成的文本字段?

如果是的話,我建議嘗試jQuery的自動完成

http://www.pengoworks.com/workshop/jquery/autocomplete.htm

+0

問題是,當用戶輸入一個無效的條目,而不是從被showned的div中選擇它。如何驗證 – ASD 2009-12-29 16:35:15

+0

您應該始終在客戶端和服務器或服務器上驗證用戶輸入。 – 2009-12-29 17:17:55

0

我不是得到這個...

你確實想要手動輸入但是允許用戶按下一個鍵嗎?

我不確定這是否可以實施。

+0

實際上它不允許輸入開始字母,但在顯示開始字母作爲用戶鍵入的項目列表後,他們需要從div中選擇它。相反,如果用戶讓代碼中的垃圾信息轉到另一個字段。那麼如何提醒用戶。 – ASD 2009-12-29 17:00:01

0

這裏有一個解決方案,使用jQuery。定製使用你自己的類/正則表達式

Odell,Den。 「第8章 - 表格 控件」。 Pro JavaScript RIA 技巧:最佳實踐, 性能和演示。 Apress出版。 ©2009. Books24x7。 http://common.books24x7.com/book/id_31169/book.asp (訪問2009年12月29日)

$(document).ready(function() { 
    $("form").keypress(function(e) { 
     switch(e.target.className) { 
      case "numerical": 
       if (e.key.match(/[^0-9]/g)) { 
        e.preventDefault(); 
       } 
       break; 

      case "email": 
       // The following regular expression matches all characters not 
       // permitted within an email address 
       if (e.key.match(/[^[email protected]!#$%&'*+-\/=?^_{}~.]+/g)) { 
        e.preventDefault(); 
       } 
       break; 
     } 
    }); 
}); 

編輯:修改了上面,以便與jQuery的事件正常工作