Hejsa
Jeg har lavet en lille log ind form, der validere med AJAX, så den skriver resultatet med det samme. Det virker fint i FF, men ikke i IE & Chrome... Nogen der har en løsning på det?
Index.php
<html>
<head>
<script src="login.js"></script>
</head>
<body>
<form action="#">
Username: <input type="text" id="user" /><br />
Password: <input type="password" id="pass" /><br />
<input type="submit" value="Check!" id="e" onClick="LoginTry(user.value, pass.value)" />
</form>
<p>Suggestions: <span id="LoginError"></span></p>
</body>
</html>
Login.js
var xmlhttp
function LoginTry(user, pass)
{
xmlhttp=xmlhttp=GetXmlHttpObject();
if (xmlhttp==null)
{
alert ("Your browser does not support XMLHTTP!");
return;
}
var url="login.php";
url=url+"?user="+user;
url=url+"&pass="+pass;
xmlhttp.onreadystatechange=stateChanged;
xmlhttp.open("GET",url,true);
xmlhttp.send(null);
}
function stateChanged()
{
if (xmlhttp.readyState==4)
{
var result = xmlhttp.responseText.split("|");
var Error = result[0];
var Msg = result[1];
if(Error==1)
{
//document.getElementById("txtHint").innerHTML="Korrekt!";
window.location.href="index.php?login=1";
}
else{
document.getElementById("LoginError").innerHTML=Msg;
}
//document.getElementById("txtHint").innerHTML=xmlhttp.responseText.split("|");
}
}
function GetXmlHttpObject()
{
if (window.XMLHttpRequest)
{
// code for IE7+, Firefox, Chrome, Opera, Safari
return new XMLHttpRequest();
}
if (window.ActiveXObject)
{
// code for IE6, IE5
return new ActiveXObject("Microsoft.XMLHTTP");
}
return null;
}
Login.php
<?php
$user = stripslashes($_GET['user']);
$pass = stripslashes($_GET['pass']);
$RightUser = "Niclas";
$RightPass = "1234";
if($user == $RightUser && $pass == $RightPass)
{
$response = 1;
}
else
{
$response = "0|Der skete en fejl!";
}
echo $response;
?>
Indlæg senest redigeret d. 06.02.2010 01:01 af Bruger #14237