搜尋 Mozilla 技術支援網站

防止技術支援詐騙。我們絕對不會要求您撥打電話或發送簡訊,或是提供個人資訊。請用「回報濫用」功能回報可疑的行為。

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!

由 cor-el 於 修改

所有回覆 (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.