tindex.html
<script> function hello() { document.write('Hello!'); } function GetXmlHttpObject() { var xmlHttp=null; try { // Firefox, Opera 8.0+, Safari xmlHttp=new XMLHttpRequest(); } catch (e) { // Internet Explorer try { xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); } catch (e){ xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); } } return xmlHttp; } function stateChanged() { if (xmlHttp.readyState==4) { document.getElementById("txtHint").innerHTML=xmlHttp.responseText; } } function showHint(str) { // document.write(str); if (str.length==0) { return; } xmlHttp=GetXmlHttpObject(); if ( xmlHttp==null ) { alert ("Your browser does not support AJAX!"); return; } var url="tgethint.php"; url = url + "?q=" + str; url = url + "&sid=" + Math.random(); xmlHttp.onreadystatechange = stateChanged; <== xmlHttp.open( "GET", url, true ); xmlHttp.send( null ); } </SCRIPT> <html> <form> First Name: <input type="text" id="txt1" onkeyup="showHint(this.value)"> </form> </html>
tgethint.php
<?php // Date in the past // Fill up array with names $a[]="Anna"; $a[]="Brittany"; $a[]="Cinderella"; $a[]="Diana"; $a[]="Eva"; $a[]="Fiona"; $a[]="Gunda"; $a[]="Hege"; $a[]="Inga"; $a[]="Johanna"; $a[]="Kitty"; $a[]="Linda"; $a[]="Nina"; $a[]="Ophelia"; $a[]="Petunia"; $a[]="Amanda"; $a[]="Raquel"; $a[]="Cindy"; $a[]="Doris"; $a[]="Eve"; $a[]="Evita"; $a[]="Sunniva"; $a[]="Tove"; $a[]="Unni"; $a[]="Violet"; $a[]="Liza"; $a[]="Elizabeth"; $a[]="Ellen"; $a[]="Wenche"; $a[]="Vicky"; //get the q parameter from URL $q=$_GET["q"]; //lookup all hints from array if length of q>0 $hint=""; for($i=0; $i<count($a); $i++) { if ($hint=="") { $hint=$a[$i]; } else { $hint=$hint." , ".$a[$i]; } } } } // Set output to "no suggestion" if no hint were found // or to the correct values if ($hint == "") { $response="no suggestion"; } else { $response=$hint; } //output the response ?>
Moglibyscie mi wyjasnic ta linijke kodu:
xmlHttp.onreadystatechange = stateChanged;
czemu wywolanie funkcji stateChanged jest bez nawiasow a nie stateChanged() ? Gdy dodam nawiasy skrypt nie dziala. Co ma na celu takie wywolanie funkcji?
... czyzby chodzilo o zdarzenie JavaScript?
Bede wdzieczny za odpowiedz na moze banalne pytanie. Z gory dziekuje i pozdrawiam.