Hi,

I'm getting the following error:
attempt to run compile-and-go script on a cleared scope
[Break On This Error] if (xmlhttp.readyState==4 && xmlhttp.status==200)

when i try to run the following code in mozilla firefox:

does anyone know on what i'm doing wrong? thank you.

gethint.html

<script language="javascript" type="text/javascript">
function showHint(str)
{
	var xmlhttp;
	
	document.write("string: ".str);
	//document.write("string length: "+str.length);
	if (str.length==0) //this is when user enters nothing, and presses Enter on keyboard
		{   //alert("you didn't enter any name");
			document.getElementById("txtHint").innerHTML=""
			return;
		}
		
	if (window.XMLHttpRequest)
		xmlhttp=new XMLHttpRequest();
	else
		xmlhttp=new activeXObject("Microsoft.XMLHTTP");
	
	xmlhttp.onreadystatechange=function(){
	
	if (xmlhttp.readyState==4 && xmlhttp.status==200)
		{
		document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
		}
	else
		alert("response not ready");
	}
	
	xmlhttp.open("GET", "gethint.php?q="+str, true);
	xmlhttp.send();
}
</script>
</head>

<body>
<form action="">
First Name:
<input type="text" name="first name" onkeyup="showHint(this.value)"/>
</form>
<br />
Suggestions:
<div id="txtHint"></div> 

</body>
</html>

gethint.php

<?php
// 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
if (strlen($q)>0)
	{
		$hint="";
		for ($i=0;$i<count($a);$i++)
			{
				if (strtolower($q)==strtolower(substr($a[$i],0,strlen($q))))
					{
						if ($hint=="")
							{
								$hint=$a[$i];
							}
						else
							{
								$hint=$hint.", ".$a[$i];
							}
					  }
			 }
	 }
	 
//Set out put to "no suggestion" if no hint were found
//or to the correct values
if ($hint == "")
	{
		$response = "no suggestion";
	}
else
	{
		$response = $hint;
	}
	
//output the response
echo $response;

?>

Recommended Answers

All 3 Replies

You're missing a semi-colon on line 10. Other than that not sure what could cause it.

You're missing a semi-colon on line 10. Other than that not sure what could cause it.

Yes, you are right. Thanks a lot. :)

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.