2011-11-28 1 views
1

J'ai la case à cocher et le contrôle de zone de texte d'asp.net sur le contentplace. Je veux appeler la fonction javascript pour activer le contrôle de zone de texte en fonction de l'état vérifié de la case à cocher. Je l'ai écrit javascript suivant pour this-comment travailler avec la fonction javascript pour le contrôle checkbox asp.net qui est placé dans contentplace?

nom du checkbox & textbox respectivement après le rendant au navigateur ctl00$ContentPlaceHolder1$chkCall, ctl00$ContentPlaceHolder1$txtCall

function chkChanged() { 
      try { 

      var echk = document.getElementsByName('ctl00$ContentPlaceHolder1$chkCall'); 
      var etxt = document.getElementsByName('ctl00$ContentPlaceHolder1$txtCall'); 

      if (echk.Checked) { 

       etxt.Enabled = true; 
      } 
      else { 
       etxt.Enabled = false; 
       etxt.Text = ""; 
      } 
      return true; 
      } 
     catch (err) { 
      alert(err.Message); 
      return false; 
     } 
     } 

Quand je l'exécution ci-dessus le script il appelle la fonction mais le code ne fonctionne pas pour le contrôle . Et il ne jette aucune exception.

Qu'est-ce qui ne va pas dans le script ci-dessus?

merci.

Répondre

2

Utilisez plutôt ce script:

var echk = document.getElementById("<%= chkCall.ClientID %>"); 
var etxt = document.getElementById("<%= txtCall.ClientID %>"); 
3

getElementsByName retourne un tableau d'éléments (pluriel) essayer d'utiliser getElementById pour obtenir un seul élément, ce qui est probablement ce que vous voulez parce que vous vérifiez si echk.Checked == true. Dans votre cas, echk est un tableau, pas une case à cocher.

Questions connexes