<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    魚躍于淵

    First know how, Second know why !
    posts - 0, comments - 1, trackbacks - 0, articles - 49

    用ajax 仿百度谷歌搜索的下拉提示

    Posted on 2008-09-25 17:44 魚躍于淵 閱讀(662) 評論(0)  編輯  收藏 所屬分類: javascript相關
    在用到實例中時 : 可把關鍵字定時從數據庫中取出來生成到一個XML文件中,  這樣能提高效率, 也便于AJAX取得數據.
    這里只是提供一個思路和一個小小的實現 .

    ajax09.html

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title>

    <style type="text/css">
        .suggestions 
    {
        background-color
    : #FFF;
        padding
    : 2px 6px;
        border
    : 1px solid #000;
        width 
    : 60px ;
        
    }

        
        .suggestions:hover 
    {
            background-color
    : #69F;
        
    }

        #searchField.error 
    {
        background-color
    : #FFC;
        
    }

    </style>

    <script type="text/javascript">
        
        
    var xhr = false ;
        
    var statesArray = new Array() ;

        window.onload 
    = initAll ;
        
        
    function initAll() {
            
    //alert(document.getElementById("popups").innerHTML) ;
            //document.getElementById("popups").onmouseover = test ;
            setArray() ;
            initArray() ;
            document.getElementById(
    "searchField").onkeyup = searchSuggest ;
            document.getElementById(
    "searchField").onblur = hideDiv ;
        }

        
        
    function test(evt){
            
    var thisDiv = evt ? evt.target : window.event.srcElement ;
            thisDiv.innerHTML 
    = "haha" ;
            document.getElementById(
    "popups").appendChild(thisDiv) ;
        }

        
        
    function initArray(){
            statesArray[
    0= "china" ;
            statesArray[
    1= "jappan" ;
            statesArray[
    2= "USA" ;
            statesArray[
    3= "UK" ;
            statesArray[
    4= "chinabbc" ;
            statesArray[
    5= "UKYSB" ;
            statesArray[
    6= "UKL" ;
            statesArray[
    7= "chincbin" ;
        }

        
        
    function searchSuggest() {
            
    var str = document.getElementById("searchField").value ;
            
    //alert(str) ;
            if(str != ""){
                document.getElementById(
    "popups").innerHTML = "" ;
                
    for(var i=0; i<statesArray.length; i++){
                    
    var state = statesArray[i] ;
                    
    if(state.toLowerCase().indexOf(str.toLowerCase()) == 0){
                        
    var tempDiv = document.createElement("div") ;
                        tempDiv.innerHTML 
    = state ;
                        tempDiv.className 
    = "suggestions" ;
                        tempDiv.onclick 
    = makeChoice ;
                        document.getElementById(
    "popups").appendChild(tempDiv) ;
                    }

                }

            }

            
            
    var resultcount = document.getElementById("popups").childNodes.length ;
            
    //alert(resultcount) ;
            if(resultcount == 0){
                
    //alert(resultcount) ;
                document.getElementById("searchField").className = "error" ;
            }

            
            
    if(resultcount == 1){
                
    //alert(resultcount) ;
                document.getElementById("searchField").value = document.getElementById("popups").childNodes[0].innerHTML ;
                document.getElementById(
    "popups").innerHTML = "" ;
            }

        }

        
        
    function makeChoice(evt){
            
    //alert("makeChoice !") ;
            var thisDiv = evt ? evt.target : window.event.srcElement ;
            
    //alert(thisDiv.innerHTML) ;
            document.getElementById("searchField").value = thisDiv.innerHTML ;
            document.getElementById(
    "popups").innerHTML = "" ;
        }

        
        
    function setArray(){
            
            
    if(window.XMLHttpRequest){
                xhr 
    = new XMLHttpRequest() ;
            }
    else{
                
    if(window.ActiveXObject){
                    
    try{
                        xhr 
    = new ActiveXObject("Microsoft.XMLHttpRequest") ;
                    }
    catch(e){} 
                }

            }

            
            
    if(xhr){
                xhr.onreadystatechange 
    = showContents ;
                xhr.open(
    "GET""ajax09.xml"true) ;
                xhr.send(
    null) ;
                
            }
    else{
                document.getElementById(
    "preWin").innerHTML = "sorry ! but your pc coundn't create a xhr object !" ;
            }

        }

        
        
    function showContents(){
            
            
    if(xhr.readyState == 4){
                
    if(xhr.status == 200){
                    
                    
    var msg = xhr.responseXML.getElementsByTagName("item") ;
                }
    else{
                    
    var msg = "error status = " + xhr.status ;
                }

                
    for(var i=0; i<msg.length; i++){
                    
    //alert(msg[i].childNodes[0].nodeValue) ;
                    statesArray[i] = msg[i].childNodes[0].nodeValue ;
                }

            }

        }

    </script>

    </head>
    <body>
    <center>
        please input some worlds : 
    <br />
        
    <input type="text" name="searchField" value="" size="60px" /><br />
        
    <div id="popups">ddd</div>
        
    &nbsp;&nbsp;
        
    <input type="submit" value="submit" /><br /><br />
        
    </center>
    </body>
    </html>

    ajax09.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <states>
        
    <item>china</item>
        
    <item>jappan</item>
        
    <item>USA</item>
        
    <item>UK</item>
        
    <item>chinabbc</item>
        
    <item>UKYSB</item>
        
    <item>UKL</item>
        
    <item>chincbin</item>
    </states>

    主站蜘蛛池模板: 久久精品无码一区二区三区免费| 免费看成人AA片无码视频吃奶| 97热久久免费频精品99| 亚洲爆乳无码专区| 免费国产污网站在线观看| 国产专区一va亚洲v天堂| 无码av免费网站| 亚洲精品中文字幕无码蜜桃| 99re6在线视频精品免费| 日本亚洲成高清一区二区三区| 免费精品久久天干天干| 亚洲午夜久久影院| 免费v片在线观看视频网站| 亚洲av无码一区二区三区天堂古代| 欧洲乱码伦视频免费| 亚洲人成网站在线播放2019| 性感美女视频免费网站午夜| 国产精品亚洲专区无码不卡| 国产亚洲av片在线观看18女人| 99re6在线视频精品免费| 亚洲小说区图片区| 午夜精品在线免费观看| 美国免费高清一级毛片| 亚洲精品亚洲人成人网| 69式互添免费视频| 婷婷亚洲综合五月天小说在线| 中文字幕在亚洲第一在线| 久久国产色AV免费看| 亚洲欧美一区二区三区日产| 免费人成视频在线观看视频| 在线观看免费无码专区| 77777午夜亚洲| 久久精品国产精品亚洲下载| 最近的中文字幕大全免费8| 一本色道久久综合亚洲精品蜜桃冫| 亚洲А∨精品天堂在线| 91精品免费久久久久久久久| 丰满亚洲大尺度无码无码专线| 亚洲国产三级在线观看| 免费高清资源黄网站在线观看| 色www永久免费|