Sök i support

Akta dig för supportbedrägerier: Vi kommer aldrig att be dig att ringa eller skicka ett sms till ett telefonnummer eller dela personlig information. Rapportera misstänkt aktivitet med alternativet "Rapportera missbruk".

Learn More

function is not recognise

more options

I am using the following code:


<!-- sample3_1.html -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Sample 3_1</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<script type="text/javascript" language="Javascript" src="autocomp.js"></script>
<link rel="stylesheet" type="text/css" href="autocomp.css" />
</head>
<body>
<form action="" method="post" onload="javascript: createform();">
<div id="createtask" class="formclass"></div>
<div id="autocompletediv" class="autocomp"></div>
<div id="taskbox" class="taskboxclass"></div>
<div id="messagebox">
</div>
<b>Your Name</b><br />
'''<input id="yourname" style="width: 150px; height: 20px;" type="text" value="" 
		onkeypress="return autocomplete(this.value, event)" />'''
	<br></br>
Your Task<br />
<textarea style="height: 80px;"></textarea><br />
<input type="button" value="Submit" onclick="javascript: validateform('yourname')" />
<div align="center"><a href="javascript:closetask()">close</a></div>
</form>

</body>
</html>

In the file has the following code autocomp.js:

...

//
function autocomplete(thevalue, e)
{
 var theextrachar =  window.event ? window.event.keyCode : e.which;
 
 theObject = document.getElementById("autocompletediv");
 theObject.style.visibility = "visible";
 theObject.style.width = "152px";
 var posx = 0;
 var posy = 0;
 posx = (findPosX (document.getElementById("yourname")) + 1);
 posy = (findPosY (document.getElementById("yourname")) + 23);
 theObject.style.left = posx + "px";
 theObject.style.top = posy + "px";
//The location we are loading the page into.
 var objID = "autocompletediv";
 
//Take into account the backspace.
 if (theextrachar == 8)
	{
	 return(true);
	}

 if ( thevalue.length == 0 )
	{
	 var serverPage = "autocomp.php" + "?sstring=" + String.fromCharCode(theextrachar);
	}
 else 
	{
	 return(true);
	}
//
 var obj = document.getElementById(objID);
 xmlhttp.open("GET", serverPage, true);
 xmlhttp.onreadystatechange = function() 
	{
	 if (xmlhttp.readyState == 4 && xmlhttp.status == 200) 
		{
		 obj.innerHTML = xmlhttp.responseText;
		}
	}
 xmlhttp.send(null);
}
//

...

Running sample3_1.html and putting a character in the field Your Name Firebug displays the following error: autocomplete is not a function.

<input id="yourname" style="width: 150px; height: 20px;" type="text" value="" 
		onkeypress="return autocomplete(this.value, event)" />

What I find is strange is that in IE and Chrome work without problem.

Please what am I doing wrong?

Thank you in advance for your help!

I am using the following code: <pre><nowiki><!-- sample3_1.html --> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Sample 3_1</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <script type="text/javascript" language="Javascript" src="autocomp.js"></script> <link rel="stylesheet" type="text/css" href="autocomp.css" /> </head> <body> <form action="" method="post" onload="javascript: createform();"> <div id="createtask" class="formclass"></div> <div id="autocompletediv" class="autocomp"></div> <div id="taskbox" class="taskboxclass"></div> <div id="messagebox"> </div> <b>Your Name</b><br /> '''<input id="yourname" style="width: 150px; height: 20px;" type="text" value="" onkeypress="return autocomplete(this.value, event)" />''' <br></br> Your Task<br /> <textarea style="height: 80px;"></textarea><br /> <input type="button" value="Submit" onclick="javascript: validateform('yourname')" /> <div align="center"><a href="javascript:closetask()">close</a></div> </form> </body> </html></nowiki></pre> In the file has the following code autocomp.js: ... <pre><nowiki>// function autocomplete(thevalue, e) { var theextrachar = window.event ? window.event.keyCode : e.which; theObject = document.getElementById("autocompletediv"); theObject.style.visibility = "visible"; theObject.style.width = "152px"; var posx = 0; var posy = 0; posx = (findPosX (document.getElementById("yourname")) + 1); posy = (findPosY (document.getElementById("yourname")) + 23); theObject.style.left = posx + "px"; theObject.style.top = posy + "px"; //The location we are loading the page into. var objID = "autocompletediv"; //Take into account the backspace. if (theextrachar == 8) { return(true); } if ( thevalue.length == 0 ) { var serverPage = "autocomp.php" + "?sstring=" + String.fromCharCode(theextrachar); } else { return(true); } // var obj = document.getElementById(objID); xmlhttp.open("GET", serverPage, true); xmlhttp.onreadystatechange = function() { if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { obj.innerHTML = xmlhttp.responseText; } } xmlhttp.send(null); } // </nowiki></pre> ... Running sample3_1.html and putting a character in the field Your Name Firebug displays the following error: autocomplete is not a function. <pre><nowiki><input id="yourname" style="width: 150px; height: 20px;" type="text" value="" onkeypress="return autocomplete(this.value, event)" /> </nowiki></pre> What I find is strange is that in IE and Chrome work without problem. Please what am I doing wrong? Thank you in advance for your help!

Ändrad av cor-el

Alla svar (1)

more options

Try posting at the Web Development / Standards Evangelism forum at MozillaZine. The helpers over there are more knowledgeable about web page development issues with Firefox.
http://forums.mozillazine.org/viewforum.php?f=25
You'll need to register and login to be able to post in that forum.