Ich versuche gerade dieses Autosuggest Script in meine Webseite  einzubauen. An sich funktioniert es wunderbar. Ich habe bloss ein  Problem.
Wenn ich mit der Pfeil-Taste auf der Tastatur nach unten ein Vorschlag auswähle , wird das Formular sofort abgeschickt. Kann mir jemand sagen wie man das in
diesem Javascript abschaltet ? Der Vorschlag soll erst einfach nur in das Textfeld geladen werden.
Das Script stammt übrigens von dieser Quelle:
Ajax AutoSuggest AutoComplete in Php
	
	
	
							
						
					Wenn ich mit der Pfeil-Taste auf der Tastatur nach unten ein Vorschlag auswähle , wird das Formular sofort abgeschickt. Kann mir jemand sagen wie man das in
diesem Javascript abschaltet ? Der Vorschlag soll erst einfach nur in das Textfeld geladen werden.
Das Script stammt übrigens von dieser Quelle:
Ajax AutoSuggest AutoComplete in Php
PHP Code:
	
	
var ajaxObj = getAjaxObject(); 
var targetID = new Array() ; 
var searchID = new Array() ; 
var inputID = new Array() ; 
function autoSuggest(id, targetid, searchid, inputid, e) 
{ 
    
   var keyCode = getKeyCode(e, 'keyup'); 
   if (keyCode == 40 || keyCode == 38) 
   { 
       return false;    
   } 
    
   autoSugPointer[id] = 0; 
    
   targetID[id] = targetid; 
   searchID[id] = searchid; 
   inputID[id] = inputid; 
   countSuggestions[id] = 0; 
    
   var searchInput = getElemId(id).value; 
    
   var url = "autosuggest.php"; 
   var params = "input=" + searchInput; 
    
   if (trim(searchInput) !== "") 
   { 
      sendRequest(ajaxObj, url, params, handleSuggestResponse, id); 
   } 
   else 
   { 
      hideSuggestions();    
   } 
} 
function handleSuggestResponse(id) 
{ 
   if (ajaxObj.readyState == 4) 
   { 
      if (ajaxObj.status == 200) 
      { 
          try 
          { 
              var XMLResponse = ajaxObj.respon************ML.documentElement; 
              // work with the xml response 
              var keywordsTag = XMLResponse.getElementsByTagName('keywords'); 
               
              var suggestions = new Array(); 
               
              for (var i = 0; i < keywordsTag.length; i++) 
              { 
                 var keywords = keywordsTag.item(i).firstChild.data.toString(); 
                 suggestions.push(keywords); 
              } 
              showSuggestions(suggestions, id); 
          } 
          catch(e) 
          { 
              hideSuggestions(id); 
              if (trim(ajaxObj.responseText) !== "") 
              alert(ajaxObj.responseText);   
          } 
      } 
   } 
} 
var countSuggestions = new Array(); 
function showSuggestions(suggestions, id) 
{ 
   var listWrapID = getElemId(targetID[id]); 
   listWrapID.style.visibility = "visible"; 
    
   var listID = getElemId(searchID[id]); 
   listID.innerHTML = ""; 
    
   for(var i = 0; i < suggestions.length; i++) 
   { 
     listID.innerHTML += "<li><a id='"+id + "-" +(i+1)+"' href=\"javascript:void(0);\" onclick=\"insertKeyword(this.innerHTML, '"+id+"');\">" + suggestions[i] + "</a></li>";       
   }   
    
   countSuggestions[id] = i; 
    
} 
var autoSugPointer = new Array(); 
function keyBoardNav(e, id) 
{ 
   var keyCode = getKeyCode(e, 'keydown'); 
   if (keyCode == 40) 
   { 
      if (autoSugPointer[id] >= 0 && autoSugPointer[id] < countSuggestions[id]) 
      { 
         if (autoSugPointer[id] != 0 && autoSugPointer[id] != countSuggestions[id]) 
         { 
            revertAutoSuggestKeyNav(autoSugPointer[id], id); 
         } 
         autoSugPointer[id] ++; 
         changeAutoSuggestKeyNav(autoSugPointer[id], id); 
         if (autoSugPointer[id] > 6) 
         { 
            getElemId(searchID[id]).scrollTop = 30; 
         } 
      } 
   } 
   else if (keyCode == 38) 
   { 
      if (autoSugPointer[id] > 1) 
      { 
         revertAutoSuggestKeyNav(autoSugPointer[id], id); 
         autoSugPointer[id] --; 
         changeAutoSuggestKeyNav(autoSugPointer[id], id); 
         if (autoSugPointer[id] <= 2) 
         { 
            getElemId(searchID[id]).scrollTop = 0; 
         } 
      } 
   } 
   else if (keyCode == 13 && autoSugPointer[id]) 
   { 
      var str = getElemId(id + "-" + autoSugPointer[id]).innerHTML; 
      insertKeyword(str, id); 
   } 
} 
function changeAutoSuggestKeyNav(id, ID) 
{ 
   getElemId(ID + "-" + id).style.backgroundColor = "#555"; 
   getElemId(ID + "-" + id).style.color = "#FFF";        
} 
function revertAutoSuggestKeyNav(id, ID) 
{ 
   getElemId(ID + "-" + id).style.backgroundColor = "#F9F9F9"; 
   getElemId(ID + "-" + id).style.color = "#006";        
} 
function hideSuggestions(id) 
{ 
   try 
   { 
   var listWrapID = getElemId(targetID[id]); 
   listWrapID.style.visibility = "hidden";     
   }catch(e){} 
} 
function insertKeyword(str, id) 
{ 
    hideSuggestions(id); 
    getElemId(inputID[id]).value = str; 
    getElemId(inputID[id]).focus(); 
} 
PHP Code:
	
	
function getAjaxObject() 
{ 
  // initially set the object to false  
  var XMLHttpRequestObject = false; 
  if (window.XMLHttpRequest) 
  { 
      // check for Safari, Mozilla, Opera... 
      XMLHttpRequestObject = new XMLHttpRequest(); 
  } 
  else if (window.ActiveXObject)  
  { 
      // check for Internet Explorer 
      XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP"); 
  } 
  if (!XMLHttpRequestObject) 
  { 
      alert("Your browser does not support Ajax."); 
      // return false in case of failure 
      return false; 
  } 
  // return the object in case of success 
  return XMLHttpRequestObject; 
} 
function sendRequest(xmlHTTPObject, url, parameters, handleResponse, id) 
{ 
   if(xmlHTTPObject) 
   { 
      // continue if the object is idle 
      if (xmlHTTPObject.readyState == 4 || xmlHTTPObject.readyState == 0)  
      { 
         // open connection and send "GET" request to server 
         xmlHTTPObject.open("POST", url, true); 
         // send the appropriate headers 
         xmlHTTPObject.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 
         // set the function to be called on a change in ajaxObj state 
         xmlHTTPObject.onreadystatechange = function () {handleResponse(id)}; 
         // set additional parameters (to be sent to server) to null 
         xmlHTTPObject.send(parameters); 
      } 
   } 
} 
PHP Code:
	
	
////////////////////////////////////////////////////////////////////////////////////////////////////// 
// function to get the code of the key pressed on the keyboard 
function getKeyCode(e, action)  
{ 
   e = (!e) ? window.event : e; 
   code = (e.charCode) ? e.charCode : ((e.keyCode) ? e.keyCode : ((e.which) ? e.which : 0)); 
   if (e.type == action)  
   { 
       return code; 
   }  
} 
/////////////////////////////////////////////////////////////////////////////////////////////////////// 
// get element by ID 
function getElemId(id) 
{ 
    if (document && document.getElementById(id)) 
    { 
       return document.getElementById(id); 
    } 
    else 
    { 
       return false;     
    } 
} 
// function to open a popUpWindow 
var popUpWin = false; 
function popUpWindow(URLStr, left, top, width, height) 
{ 
  if(popUpWin) 
  { 
    if(!popUpWin.closed) popUpWin.close(); 
  } 
  popUpWin = open(URLStr, 'popUpWin', 'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,copyhistory=yes,width='+width+',height='+height+',left='+left+', top='+top+',screenX='+left+',screenY='+top+''); 
} 
// Function to determine browser of the user 
function Browser() { 
  var ua, s, i; 
  this.isIE    = false; 
  this.isNS    = false; 
  this.version = null; 
  ua = navigator.userAgent; 
  s = "MSIE"; 
  if ((i = ua.indexOf(s)) >= 0) { 
    this.isIE = true; 
    return; 
  } 
  s = "Netscape6/"; 
  if ((i = ua.indexOf(s)) >= 0) { 
    this.isNS = true; 
    return; 
  } 
  s = "Gecko"; 
  if ((i = ua.indexOf(s)) >= 0) { 
    this.isNS = true; 
    return; 
  } 
} 
// function that will remove all spaces from a string used primarily to check 
function trim(s) 
{ 
   return s.replace(/(^s+)|(s+$)/g, ""); 
} 
// function to check if a url is valid 
function isValidURL(url){ 
    var RegExp = /^(([w]+:)?//)?(([dw]|%[a-fA-fd]{2,2})+(:([dw]|%[a-fA-fd]{2,2})+)?@)?([dw][-dw]{0,253}[dw].)+[w]{2,4}(:[d]+)?(/([-+_~.dw]|%[a-fA-fd]{2,2})*)*(?(&?([-+_~.dw]|%[a-fA-fd]{2,2})=?)*)?(#([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)?$/; 
    if(RegExp.test(url)){ 
        return true; 
    }else{ 
        return false; 
    } 
} 
// function to check if the email address is valid 
function isValidEmail(email){ 
    var RegExp = /^((([a-z]|[0-9]|!|#|$|%|&|'|\*|\+|\-|\/|=|\?|\^|_|`|\{|\||\}|~)+(\.([a-z]|[0-9]|!|#|$|%|&|'|\*|\+|\-|\/|=|\?|\^|_|`|\{|\||\}|~)+)*)@((((([a-z]|[0-9])([a-z]|[0-9]|\-){0,61}([a-z]|[0-9])\.))*([a-z]|[0-9])([a-z]|[0-9]|\-){0,61}([a-z]|[0-9])\.)[\w]{2,4}|(((([0-9]){1,3}\.){3}([0-9]){1,3}))|(\[((([0-9]){1,3}\.){3}([0-9]){1,3})\])))$/ 
    if(RegExp.test(email)){ 
        return true; 
    }else{ 
        return false; 
    } 
} 
          
 Moderatorin

Comment