Je vérifie si l'utilisateur existe dans la base de données s'il existe. Je montre le message comme "utilisateur existant", puis je dois désactiver le bouton d'inscription, sinon je dois l'activer.
Je ne parviens pas à activer et désactiver le bouton d'inscription.
Quelqu'un peut-il m'aider dans cette affaire?
Voici mon code:
<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>
Malheureusement, votre problème est quelque chose d'aussi petit que la différence entre enabled
et disabled
.enabled = true;
Devrait être :
.disabled = false;
Vous pouvez jouer avec ça:
$('#ButtonId').prop("disabled", true); ->> disabled
$('#ButtonId').prop("disabled", false); ->> Enabled
JavaScript:
function Enable() {
$("#btnSave").attr('disabled', false);
}
function Disable() {
$("#btnSave").attr('disabled', true);
}
ASPX Page:
<asp:Button runat="server" ID="btnSave" Text="Save" UseSubmitBehavior="false" OnClientClick="if(Page_ClientValidate('Validation')){javascript:Disable();}" ValidationGroup="Validation"/>
Code Derrière:
ScriptManager.RegisterStartupScript(Me, Me.GetType(), "Disable", "javascript:Disable();", True)
Essaye ça...
document.getElementById('<%= button.ClientID %>').disabled = true;
OR
document.getElementById('<%= button.ClientID %>').disabled = false;
vous pouvez simplement définir la visibilité de votre bouton sur false Visibilité = "false"
Le fichier .disabled fonctionne, avez-vous utilisé un point d'arrêt pour vous assurer que votre code était même atteint? Votre condition si/else peut ne pas retourner vos valeurs attendues.
Pour activer et désactiver les boutons en utilisant JavaScript, voici ce qu'il faut faire.
Exemple:
<asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="a(); return false;"/>
<asp:Button ID="Button2" runat="server" Text="Button" OnClientClick="b(); return false;" />
et
<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>
NOTE: Alors que d'autres publications avaient un code similaire, elles échouent à cause du rechargement sur la page. Donc, pour éviter le rechargement, un return false
devrait être ajouté comme OnClientClick="a(); return false;"
Ce code JavaScript devrait fonctionner.
document.getElementById("<%=btnSignUp.ClientID%>").disabled = true; //To disable the button
document.getElementById("<%=btnSignUp.ClientID%>").disabled = false;//To enable the button
Votre code devrait ressembler à
<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>
Je fais ça:
Désactiver:
var myButton = document.getElementById('<%= this.myButton.ClientID %>');
$(myButton).attr('disabled', 'disabled');
Activer:
$(myButton).removeAttr('disabled');