我刚学习AJAX,以下HTML文件无效。每次我发布密钥时,firebug说“登录不是一个功能”。我无法弄清楚为什么会这样。任何帮助表示赞赏。
<html>
<head>
<title>Ajax</title>
<script type="text/javascript">
function makeAjax() {
var ajax;
try{
ajax = new XMLHttpRequest();
}
catch (e) {
try {
ajax = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e) {
try {
ajax = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e) {
alert("Your browser is either OLD or BAD! UPDATE!");
return false;
}
}
}
ajax.onreadystatechange = function() {
if(ajax.readyState == 4 && ajax.status == 200) {
document.getElementById("btag").innerHTML = ajax.responseText;
}
}
}
function login() {
ajax.open("GET", "ajax.php", true);
ajax.send(null);
}
</script>
</head>
<body onLoad="makeAjax();">
<form name="login">
Username: <input type="text" onKeyUp="login();" />
<br /><br />
Password: <input type="password" onKeyUp="login();" />
<b id="btag"></b>
</form>
</body>
</html>
答案 0 :(得分:3)
onKeyUp="login();"
似乎找到了您的表单(也称为login
)。将表单重命名为不同的表单(例如login_form
)对我有用。
答案 1 :(得分:0)
尝试使用其他表单名称。你有一个名为'login'的表单和一个名为Login的Javascript函数。我认为萤火虫在两者之间感到困惑......
另外,将Ajax变量放在函数外面,.i.e。
var ajax;
function makeAjax() {
try{
ajax = new XMLHttpRequest();
}
catch (e) {
try {
ajax = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e) {
try {
ajax = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e) {
alert("Your browser is either OLD or BAD! UPDATE!");
return false;
}
}
}
ajax.onreadystatechange = function() {
if(ajax.readyState == 4 && ajax.status == 200) {
document.getElementById("btag").innerHTML = ajax.responseText;
}
}
}