2009-07-26 14 views
0

Utilisation de Javascript dans IE6 avec ASPNET.2.0. J'ai besoin de changer la propriété ENABLE ou VISIBLE d'un ASP: TextBox appelé 'tbDate' dans le Javascript. Cela peut-il être fait - si oui, comment?Accéder aux méthodes/propriétés/attributs de contrôle ASP en Javascript?

J'ai essayé ce qui suit, mais cela ne fonctionne pas.

document.getElementById('<%=tbDate.ClientID%>').setAttribute("Visible", "False") 

Toute aide ou tout lien serait grandement apprécié.

Répondre

0

Vous ne pourrez pas modifier la propriété Visible car il s'agit d'un attribut côté serveur qui n'est pas rendu dans le cadre du contrôle. Les contrôles qui ne sont pas visibles ne rendent aucun code HTML, donc il n'y a aucun moyen d'utiliser les scripts côté client pour les trouver. Qu'est-ce que vous pouvez faire est de définir l'activé ou en lecture seule property via Javascript.

0

Votre code est presque correct. Il n'y a pas de propriété "visible" bien sûr. Utiliser l'affichage: aucun.

document.getElementById('<%=tbDate.ClientID%>').style.display = 'none'; 
1

Comme un peu d'arrière-plan, lorsque vous définissez l'attribut Visible sur un contrôle serveur ASP.NET (ou un contrôle serveur HTML) dans le code-behind ou dans le balisage ASPX, que le contrôle ne soit pas rendu dans la HTML envoyé au client et par conséquent, il ne peut pas être consulté car il n'existe pas sur le client.

Si vous souhaitez avoir un élément caché que vous souhaitez rendre visible en utilisant le code côté client (sans effectuer de publication), vous pouvez définir l'affichage de style sur none ou utiliser une classe CSS avec display: none. Cela rendra toujours le contrôle dans le HTML mais le contrôle ne sera pas visible. Vous pouvez ensuite rendre le contrôle visible et le masquer en utilisant (respectivement)

// to make visible 
document.getElementById("<%= tbDate.ClientID %>").style.display = "block"; 

// to hide it 
document.getElementById("<%= tbDate.ClientID %>").style.display = "none"; 
Questions connexes