Javascript 回发期间启用/禁用Asp.net映像按钮

Javascript 回发期间启用/禁用Asp.net映像按钮,javascript,jquery,asp.net,Javascript,Jquery,Asp.net,我试图检查用户是否在数据库中可用,因为我保留了一个名为“检查可用性”的按钮。当用户单击时,他可以检查数据库中是否存在该名称,如果“存在”,则将文本框背景颜色更改为红色,如果不存在,则更改为“绿色” 现在我有了一个注册页面,用户在其中填写表单。如果用户存在,我需要禁用注册按钮,我正在使用“图像按钮”对其进行禁用 因此,当用户可用时,我无法禁用它。 当我在页面加载期间禁用图像按钮(即注册按钮)时,以及在用户填写表单后(尽管用户可用),页面将刷新并将信息作为重复字段提交到数据库 这些都是我找到的很多方

我试图检查用户是否在
数据库中可用
,因为我保留了一个名为“
检查可用性
”的按钮。当用户单击时,他可以检查数据库中是否存在该名称,如果“存在”,则将文本框背景颜色更改为红色,如果不存在,则更改为“绿色”

现在我有了一个注册页面,用户在其中填写表单。如果用户存在,我需要禁用
注册按钮
,我正在使用“
图像按钮
”对其进行禁用

因此,当用户可用时,我无法禁用它。 当我在页面加载期间禁用图像按钮(即注册按钮)时,以及在用户填写表单后(尽管用户可用),页面将刷新并将信息作为重复字段提交到数据库

这些都是我找到的很多方法,但都不适合我

.enabled = true;

.disabled = false;

document.getElementById('<%= button.ClientID %>').disabled = true;
document.getElementById('<%= button.ClientID %>').disabled = false;

$('#ButtonId').prop("disabled", true); ->> disabled
$('#ButtonId').prop("disabled", false); ->> Enabled
检查可用性的更新代码单击:

  If txtUserName.BackColor = Drawing.Color.Red Then
        btnSignUp.Enabled = False
    ElseIf txtUserName.BackColor = Drawing.Color.Green Then
        btnSignUp.Enabled = True
    End If

尝试使用:
disabled=disabled

编辑


Try:
$('#ButtonId')。removeProp(“禁用”)

如果按钮是Asp.Net按钮:

$('#<%= button.ClientID %>').prop("disabled", true);

我不知道这是否对您有帮助,但在我的一个项目中,我们开发了一个脚本,可以防止按钮发送多个回发。基本上,它在href属性中重写了javascript,这样无论您单击多少次,都只会发送一次回发。我给您的建议是实现类似的行为-如果用户单击“检查可用性”按钮,从表单按钮中临时删除回发javascript,并且在完成请求后,将回发javascript放回原位。是的,我同意刚才我在web上搜索了相同的内容。它用于重新提交相同的详细信息,但在我的情况下,用户搜索名称时发现名称不可用,他尝试提交表单,表单接受,但我当时需要禁用。是的,我已禁用,如中所示我更新了代码,但没有更新。注意:.prop是jQuery的一个相当新的功能。你使用的是1.6.x吗?它是一个ImageButton,但它也接受这个功能并更新数据。我相信.prop是1.6.x的功能。升级或不使用1.4的道具。即使我使用1.6以上的道具,也不会发生任何事情。
  If txtUserName.BackColor = Drawing.Color.Red Then
        btnSignUp.Enabled = False
    ElseIf txtUserName.BackColor = Drawing.Color.Green Then
        btnSignUp.Enabled = True
    End If
$('#<%= button.ClientID %>').prop("disabled", true);
$("[id$=ButtonId]").prop("disabled", true);