2008-10-06 8 views

Répondre

3

Vous pouvez ajouter un gestionnaire d'onSubmit clientside, ou vous pouvez faire ceci:

myButton.Attributes.Add("onclick", "this.disabled=true; document.getElementById('" 
+ button2.ClientID + "').disabled = true;" 
+ GetPostBackEventReference(myButton).ToString()); 
+0

Cette réponse est probablement une meilleure syntaxe sage. –

+0

Quel est le devis sur ce guillemets simples entre guillemets? Pour le getElementById –

+0

GetElementById prend une chaîne, d'où les guillemets simples. – FlySwat

0

Modifier la commande:

myButton.Attributes.Add("onclick", "this.disabled=true;document.getElementbyID("Button2").disabled=true;" + GetPostBackEventReference(myButton).ToString()); 
+0

Vous devez utiliser ClientID si le bouton se trouve dans un conteneur de dénomination. – EndangeredMassa

1

Modifier le javascript pour faire référence à l'autre bouton ainsi.

var btn1 = document.GetElementById('btn1ID'); 
var btn2 = this; 

btn1.disabled = true; 
btn2.disabled = true; 

Si les boutons sont dans un conteneur de nommage, vous aurez besoin d'utiliser la propriété de l'objet .NET ClientID pour obtenir l'ID html de l'élément.

var btn1 = document.GetElementById('<%= btn1.ClientID %>'); 

Je suggère envelopper ces derniers dans une balise de script et une fonction, il suffit d'appeler la fonction de votre ajout d'attributs .NET.

CodeBehind

btn2.Attributes.Add("onclick", "handleClick();") 

ASPX

<script type="text/javascript"> 
    function handleClick() { 
     var btn1 = document.GetElementById('<%= btn1.ClientID %>'); 
     var btn2 = this; 

     btn1.disabled = true; 
     btn2.disabled = true; 

    } 
</script> 

<asp:Button id="btn1" runat="server" text="Button 1" /> 
<asp:Button id="btn2" runat="server" text="Button 2" /> 
+0

Il serait plus simple d'utiliser la solution de Jonathan Holland. – EndangeredMassa

Questions connexes