页面:
     <body>
    <div style="width: 500px;">
     <form id="frmSearch" action="">
<input type="text" id="txtSearch" name="clientNameSearch" onkeyup="searchSuggest('SearchSuggest.do','clientNameSearch','clientNamesearch');" autocomplete="off"/>
    <input type="submit" id="cmdSearch" name="cmdSearch" value="Search"/><br />
    <div id="clientNamesearch">
      </div>
      
      <input type="text" id="txtSearch" name="appSearch" onkeyup="searchSuggest('aaa.do','appSearch','appsearch');" autocomplete="off"/>
    <input type="submit" id="cmdSearch" name="cmdSearch" value="Search"/><br />
    <div id="appsearch">
      </div>
     </form>
    </div>
</body>JS: //Gets the browser specific XmlHttpRequest Object
function getXmlHttpRequestObject() {
if (window.XMLHttpRequest) {
    return new XMLHttpRequest();
} else if(window.ActiveXObject) {
    return new ActiveXObject("Microsoft.XMLHTTP");
} else {
    alert("Your Browser Sucks!\nIt's about time to upgrade don't you think?");
}
}
function createAjaxObj(){
    var httprequest=false;
    if (window.XMLHttpRequest)
    { // if Mozilla, Safari etc.
      httprequest=new XMLHttpRequest()
      if (httprequest.overrideMimeType)
        httprequest.overrideMimeType('text/xml');
     }
     else if (window.ActiveXObject)
     { // if IE
       try {
         httprequest=new ActiveXObject("Msxml2.XMLHTTP");
       }
       catch (e){
         try{
            httprequest=new ActiveXObject("Microsoft.XMLHTTP");
         }
         catch (e){}
       }
     }
     return httprequest
}
//Our XmlHttpRequest object to get the auto suggest
var searchReq = createAjaxObj();

//Called from keyup on the search textbox.
//Starts the AJAX request.
function searchSuggest(actionName,input_name,div_id) {
if (searchReq.readyState == 4 || searchReq.readyState == 0) {
    var str =document.getElementById(input_name).value;
    searchReq.open("GET", actionName+'?search='+str,true);
    searchReq.onreadystatechange = handleSearchSuggest(input_name,div_id); 
    searchReq.send(null);
}  
}

//Called when the AJAX response is returned.
function handleSearchSuggest(input_name,div_id) {
if (searchReq.readyState == 4) {
    var ss = document.getElementById(div_id)
    ss.innerHTML = '';
    var str = searchReq.responseText.split("\n");
    
    for(i=0; i < str.length - 1; i++) {
     //Build our element string.    This is cleaner using the DOM, but
     //IE doesn't support dynamically added attributes.
    
     var suggest = '<div onmouseover="javascript:suggestOver(this);" ';
     suggest += 'onmouseout="javascript:suggestOut(this);" ';
     suggest += 'onclick="javascript:setSearch(this.innerHTML,"'+input_name+'","'+div_id+'");" ';
     suggest += 'class="suggest_link">' + str[i] + '</div>';
     ss.innerHTML += suggest;
    }
}
} //Mouse over function
function suggestOver(div_value) {
div_value.className = 'suggest_link_over';
}
//Mouse out function
function suggestOut(div_value) {
div_value.className = 'suggest_link';
}
//Click function
function setSearch(value,input_name,div_id) {
document.getElementById(input_name).value = value;
document.getElementById(div_id).innerHTML = '';
}我用一个function分别控制2个INPUT域,如果不传参数,对一个 INPUT的话,好用,传参数以后不好用了,在searchReq.readyState==1的时候出问题,说类型不匹配