我正在尝试验证数据库中是否存在用户名。
我有一个包含文本字段和提交按钮的字段。提交按钮被禁用。
用户输入有效的用户名后,在检入数据库后,提交按钮将变为启用状态,文本字段边框将变为绿色,否则变为红色。
就在这里一切都很好,但是当用户改变主意并尝试更改用户名时,尽管文本字段指示了错误的用户名或格式,仍然会启用提交按钮。
如何将提交按钮更改为禁用。
我在我的代码中尝试了document.getElementById('register').disabled = false;
这是完整的代码。
<!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>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link href="../style.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.js"></script>
<script>
$(document).ready(function()
{
$('#username').keyup(username_check);
});
function username_check()
{
var username = $('#username').val();
if(username == "" || username.length < 14)
{
$('#username').css('border', '2px #CCC solid');
$('#tick').hide();
}
else
{
jQuery.ajax({
type: "POST",
url: "check.php",
data: 'username='+ username,
cache: false,
success: function(response){
if(response == 1){
$('#username').css('border', '2px #C33 solid');
$('#tick').hide();
$('#cross').fadeIn();
document.getElementById('register').disabled = true;
}
else
{
$('#username').css('border', '2px #090 solid');
$('#cross').hide();
$('#tick').fadeIn();
document.getElementById('register').disabled = false;
}
}
});
}
}
</script>
<style>
#username
{
padding:3px;
font-size:18px;
border:3px #CCC solid;
}
#tick{display:none}
#cross{display:none}
</style>
</head>
<body>
<form action="" method="get" style="width:500px">
<table width="500" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="152"> </td>
<td width="348"> </td>
</tr>
<tr>
<td>Username</td>
<td><input name="username" id="username" type="text" />
<img id="tick" src="tick.png" width="16" height="16"/>
<img id="cross" src="cross.png" width="16" height="16"/>
</td>
</tr>
<tr>
<td> </td>
<td><input type="submit" name="register" id="register" value="Submit" disabled="disabled" /></td>
</tr>
</table>
</form>
</body>
</html>
答案 0 :(得分:1)
$(“#register”)。attr(“禁用”,“禁用”)成功,$(“#register”)。removeAttr(“disabled”)失败......
希望这会有所帮助
答案 1 :(得分:0)
从jQuery.ajax调用的success函数中删除document.getElementById('register').disabled = true;
。
将keyup事件修改为:
$('#username').keyup(function()
{
document.getElementById('register').disabled = true;
username_check();
});
答案 2 :(得分:0)
document.getElementById('register').disabled = true;
它会起作用