2010-04-12 7 views
1

Le code suivant est utilisé pour désactiver un bouton Soumettre une fois qu'il a été cliqué. Cela fonctionne très bien sur les navigateurs de bureau et la plupart des navigateurs mobiles BlackBerry. Malheureusement, lorsque vous utilisez un BlackBerry Storm en cliquant sur le bouton Envoyer, l'appareil recharge simplement la page. Si je supprime ce code, le navigateur Storm soumet la page correctement. J'ai besoin de désactiver le bouton lorsque le navigateur est capable de le faire, mais ne veut pas affecter les navigateurs qui ne sont pas capables de JavaScript. Je réalise que je pourrais ajouter le framework jQuery et seulement attacher le côté client de l'événement, mais j'essaie de trouver le correctif le plus simple (le moins intrusif possible) car il s'agit d'une application héritée. Aucune suggestion?Désactivation du bouton Soumettre dans une application ASP.NET 3.5 avec des interruptions JavaScript La soumission BlackBerry

Répondre

1

Je crois que vous pouvez le faire de cette façon - je ne l'ai pas fait depuis longtemps et certains de l'API HttpCapabilities a été étiqueté comme obsolète, mais en général, vous pouvez détecter si le navigateur supporte javascript en faisant ceci:

var myBrowserCaps = Request.Browser; 
    if (((HttpCapabilitiesBase)myBrowserCaps).EcmaScriptVersion.Major > 1) 
    { 
     // Browser supports javascript 
     Submit.Attributes.Add("onclick", "javascript:this.disabled=true;" + 
        ClientScript.GetPostBackEventReference(Submit, null)); 
    } 
+0

@Womp qui semble bon excet plutôt que 'HttpCapabilitiesBase' J'ai utilisé' HttpBrowserCapabilities'. Merci pour l'aide et désolé pour mon retard dans le test de votre suggestion. J'étais AFK pendant 10 jours. ;) – ahsteele

Questions connexes