目标:
有一个登录表单,用户在其中输入用户名和密码,然后单击登录按钮(type="submit")
。我试图确定 PHP 代码的返回值是否包含模式"FailText"
。如果是,则在 div 中显示消息"signinAlert"
,否则(如果登录成功)重定向到用户的主页。
编码:
<form id="loginForm" name="loginForm" method="POST">
<table>
<tr>
<td><input class="input_home" type="text" name="username" id="email" size="30" placeholder="E-mail Address" /></td>
</tr>
<tr>
<td><input class="input_home" type="password" name="password" id="password" size="30" maxlength="12" placeholder="Password" /></td>
</tr>
<tr>
<td style="text-align: right;"><a href="#" title="Forgot Password">Forgot Password?</a> <input type="submit" class="Button" value="Sign In" id="login" onclick="return DisplayLoginError()"; /></td>
</tr>
</table>
</form>
这是我的 JavaScript 函数。
function DisplayLoginError()
{
var loginForm = document.loginForm;
var dataString = $(loginForm).serialize();
$.ajax ({
type: 'POST',
url: 'login.php',
data: dataString,
success: function(data){
var result = data;
var patt1=new RegExp("FailText");
if (patt1.test(result))
{
$('#signinAlert').html(data);
$('#signinAlert').css('display','block');
}
else
{
window.location = "home/";
}
}
});
return false;
}
问题: 我坚信上面的 JavaScript 代码非常草率(因为登录尝试成功时的 RegExp 评估)。有没有其他方法可以实现目标?顺便说一句,上述方法适用于所有主要浏览器。