2010-07-27 9 views
2

J'ai le code suivant pour travailler sur les contrôles ASP.Net. J'essaie d'ajouter du code javascript à l'événement "onclick" sur un bouton lorsque la variable de résultat (res) est égale à "NO". Le problème est que la première fois qu'il attribue la valeur à "onclick" cela fonctionne très bien, mais quand le removeAttr est exécuté et encore la fonction est call et la res est égale à "NO" encore, il n'ajoute pas le code sur " onclick "événement. Alors qu'est-ce qui ne va pas? Merci de votre aide. =)Mise à jour du problème attr ("onclick") numéro

Légende: - HLEVEL (zone de texte) - PSAVE (LinkButton)

$('#HLevel').blur(function() { 
     // SOME CODE HERE BEFORE THE ISSUE CODE 
     var res = $(msg).find("string").text(); 
     if (res == "NO") { 
     $('#PSave').attr("onclick", "javascript:return confirm('some text');"); 
     } else { 
     $('#PSave').removeAttr("onclick"); 
     } 

    }); 

Répondre

1

Utilisez les méthodes unbind() et click():

if (res == "NO") { 
    $('#PSave').click(function() {return confirm('some text');}); 
} else { 
    $('#PSave').unbind("click"); 
} 

Si vous utilisez jQuery, essayez d'utiliser autant que possible et ne pas mélanger les styles.

+0

Cela fonctionne excellent !!! Merci beaucoup Félix pour ta suggestion !!! A partir de maintenant, j'utiliserai plus de jquery pour éviter ce genre de problème. – hanselp

1

Vous devez changer le gestionnaire d'événements de clic comme ceci:

$('#HLevel').blur(function() { 
    // SOME CODE HERE BEFORE THE ISSUE CODE 
    var res = $(msg).find("string").text(); 
    if (res == "NO") { 
     $('#PSave').click(function(){ 
      return confirm('some text'); 
     }); 
    } else { 
     $('#PSave').unbind('click'); 
    } 

}); 
1

pourquoi n'utilisez pas jquery pour tout cela au lieu des gestionnaires javascript onclick. ceux-ci sont désordonnés.

$('#PSave').click(function(){ 
    confirm('some text'); 

}); 

et à la place de removeAttr, utiliser unbind.

$('#PSave').unbind(); 
+0

doh! Ninja'd par pat – Patricia