2011-09-22 10 views
9

Sprawdzam, czy użytkownik istnieje w bazie danych, jeśli istnieje Pokazuje komunikat jako "istniejący użytkownik", a następnie muszę wyłączyć przycisk rejestracji, jeśli nie muszę go włączyć.Włączanie i wyłączanie przycisku za pomocą javascript i asp.net

Nie mogę włączyć ani wyłączyć przycisku rejestracji.

Czy ktoś może mi pomóc w tym wydaniu?

Oto mój kod:

<script type="text/javascript"> 
    $(function() { 
     $("#<% =btnavailable.ClientID %>").click(function() { 
      if ($("#<% =txtUserName.ClientID %>").val() == "") { 
       $("#<% =txtUserName.ClientID %>").removeClass().addClass('notavailablecss').text('Required field cannot be blank').fadeIn("slow"); 

      } else { 
       $("#<% =txtUserName.ClientID %>").removeClass().addClass('messagebox').text('Checking...').fadeIn("slow"); 
       $.post("LoginHandler.ashx", { uname: $("#<% =txtUserName.ClientID %>").val() }, function (result) { 
        if (result == "1") { 
         $("#<% =txtUserName.ClientID %>").addClass('notavailablecss').fadeTo(900, 1); 
         document.getElementById(#<% =btnSignUp.ClientID %>').enabled = false; 
        } 
        else if (result == "0") { 
         $("#<% =txtUserName.ClientID %>").addClass('availablecss').fadeTo(900, 1); 
         document.getElementById('#<% =btnSignUp.ClientID %>').enabled = true; 
        } 
        else { 
         $("#<% =txtUserName.ClientID %>").addClass('notavailablecss').fadeTo(900, 1); 
        } 
       }); 
      } 
     }); 

     $("#<% =btnavailable.ClientID %>").ajaxError(function (event, request, settings, error) { 
      alert("Error requesting page " + settings.url + " Error:" + error); 
     }); 
    }); 
</script> 
+0

A twój problem? Jak ktoś może ci teraz pomóc? – Max

+0

Mój problem nie może wyłączyć i włączyć przycisku rejestracji. Jeśli istnieje nazwa użytkownika, muszę ją wyłączyć, a jeśli nie, muszę ją włączyć. – coder

Odpowiedz

10

Niestety problem jest coś tak małe jak różnica pomiędzy enabled i disabled

.enabled = true;

Powinno być:

.disabled = false;

+0

Tak, zrobiłem to tak, jak pokazano powyżej, ale gdy użytkownik jest dostępny i kliknę przycisk SignUp, odświeża stronę. – coder

+0

Widzę, że używasz 'POST', więc zakładam, że po prostu brakuje' event.preventDefault() 'w twoim programie obsługi zdarzeń na twoim przycisku. – f0x

+0

dodaj swoją aplikację do przesyłania kliknięć do oryginalnego wpisu. – f0x

8

Można grać z tym:

$('#ButtonId').prop("disabled", true); ->> disabled 
$('#ButtonId').prop("disabled", false); ->> Enabled 
+0

tak samo jak i ja również jquery, nie sądzę, że OP go używa. – f0x

+0

@ f0x Według kodu OP, jQuery jest pod ręką! –

+0

Przepraszam, nawyk patrzenia na metki w skrócie;) – f0x

4

Spróbuj tego ...

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

LUB

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

Yeh Próbowałem tego samego, co wspomniano w powyższym kodzie, ale nie działa. – coder

1

u można po prostu ustawić widoczność przycisku do fałszywego widoczności = "false"

+0

Tak, zrobiłem to również, ale gdy użytkownik kliknie dostępność pokazu, to jeśli użytkownik istnieje w bazie danych, muszę włączyć przycisk "Rejestracja", co nie jest możliwe – coder

+0

, ponieważ musisz użyć instrukcji if if z pewnymi warunkami oraz w C# code buttoneName.visibility = true lub false –

0

Aby włączyć lub wyłączyć przyciski za pomocą JavaScript, należy to zrobić -

Przykład:

<asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="a(); return false;"/> 
<asp:Button ID="Button2" runat="server" Text="Button" OnClientClick="b(); return false;" /> 

i

<script type="text/javascript"> 
    function a() { 
     alert('1'); 
     document.getElementById('<%=Button1.ClientID %>').disabled = true; 
     document.getElementById('<%=Button2.ClientID %>').disabled = false; 
     } 
    function b() { 
     alert('2'); 
     document.getElementById('<%=Button2.ClientID %>').disabled = true; 
     document.getElementById('<%=Button1.ClientID %>').disabled = false; 
     } 
</script> 

UWAGA: Podczas gdy inne posty miał podobny kod, ale nie ze względu na przeładowanie na stronie. Tak aby uniknąć przeładowania return false należy dodać jak OnClientClick="a(); return false;"

5

javascript:

function Enable() { 
     $("#btnSave").attr('disabled', false);     
    } 
function Disable() { 
     $("#btnSave").attr('disabled', true); 
    } 

ASPX stronę:

<asp:Button runat="server" ID="btnSave" Text="Save" UseSubmitBehavior="false" OnClientClick="if(Page_ClientValidate('Validation')){javascript:Disable();}" ValidationGroup="Validation"/> 

Code Behind:

ScriptManager.RegisterStartupScript(Me, Me.GetType(), "Disable", "javascript:Disable();", True) 
1

Funkcja .disabled działa, czy użyłeś punktu przerwania, aby upewnić się, że Twój kod został osiągnięty? Twoje warunkowe if/else mogą nie zwracać twoich oczekiwanych wartości.

Disable::

0

to zrobić

var myButton = document.getElementById('<%= this.myButton.ClientID %>'); 
    $(myButton).attr('disabled', 'disabled'); 

Włącz:

$(myButton).removeAttr('disabled'); 
0

Ten kod JavaScript powinno działać.

document.getElementById("<%=btnSignUp.ClientID%>").disabled = true; //To disable the button 

document.getElementById("<%=btnSignUp.ClientID%>").disabled = false;//To enable the button 

Twój kod powinien wyglądać

<script type="text/javascript"> 
    $(function() { 
     $("#<% =btnavailable.ClientID %>").click(function() { 
      if ($("#<% =txtUserName.ClientID %>").val() == "") { 
       $("#<% =txtUserName.ClientID %>").removeClass().addClass('notavailablecss').text('Required field cannot be blank').fadeIn("slow"); 

      } else { 
       $("#<% =txtUserName.ClientID %>").removeClass().addClass('messagebox').text('Checking...').fadeIn("slow"); 
       $.post("LoginHandler.ashx", { uname: $("#<% =txtUserName.ClientID %>").val() }, function (result) { 
        if (result == "1") { 
         $("#<% =txtUserName.ClientID %>").addClass('notavailablecss').fadeTo(900, 1); 
         document.getElementById("<%=btnSignUp.ClientID%>").disabled = true; 
        } 
        else if (result == "0") { 
         $("#<% =txtUserName.ClientID %>").addClass('availablecss').fadeTo(900, 1); 
         document.getElementById("<%=btnSignUp.ClientID%>").disabled = false; 
        } 
        else { 
         $("#<% =txtUserName.ClientID %>").addClass('notavailablecss').fadeTo(900, 1); 
        } 
       }); 
      } 
     }); 

     $("#<% =btnavailable.ClientID %>").ajaxError(function (event, request, settings, error) { 
      alert("Error requesting page " + settings.url + " Error:" + error); 
     }); 
    }); 
</script> 
Powiązane problemy