2009-05-12 5 views
1

J'utilise UltraWebGrid pour mon applcation:visibilité: effondrement javascript

J'utilise une zone de texte pour la liste des erreurs dans mon application dans le modèle de ligne lorsque l'utilisateur clique sur cette ligne particulière ...

Donc, je dois avoir texarea quand il y a des erreurs ..... sinon, quand il n'y a pas d'erreurs, je ne veux même pas veulent le row_template pour apparaître ..... J'utilise IE6.

Je vérifie s'il y a des erreurs à l'aide javascript.so je devais utiliser le gestionnaire d'événements javascript :: UltraWebGrid1_BeforeRowTemplateOpenHandler (gridName, rowId, templateId)

où j'écris dans les déclarations faites ci-dessous:. document.getElementById ("TextArea2") style.visibility = "collapse" à l'intérieur de la fonction d'événement ci-dessus

1), il est montrant javascript erreur « couldnot obtenir la propriété de visibilité: Argument non valide » mais le modèle de ligne ne pas apparaître ..... .. seulement venir ....

2) de l'erreur est-il un code pour bloquer le modèle de ligne quand il n'y a pas d'erreurs. je veux dire pas pop_up pour aucune erreur

Quelle est la solution pour cela ???

+0

Lorsque vous dites que vous voulez qu'il soit invisible, voulez-vous qu'il prenne encore de la place ou que la page s'effondre? Si le premier, puis Greg a la bonne réponse si ce dernier, puis tvanfosson fait. – annakata

+0

Can some1 répondre à cette ???? c'est urgent. Je ne c aucune réponse pour mes questions impliquant 'Ultrawebgrid' comme l'un des tags. !!! –

+1

Jésus, perdez le texte spk et considérez que vous avez 3 réponses complètes ci-dessous, aucune qui nécessite la participation de ce framework Personne n'a entendu parler de – annakata

Répondre

3

Essayez d'utiliser:

document.getElementById("TextArea2").style.display = 'none'; 

et (pour le rallumer à nouveau)

document.getElementById("TextArea2").style.display = 'block'; // or 'inline' 
+0

Textarea est un élément inline. Donc, pas besoin d'utiliser le bloc d'affichage. – rahul

+1

Si j'affichais des messages d'erreur, je ne voudrais pas qu'elle s'affiche en ligne. Bien sûr, je les afficherais probablement dans un DIV ou SPAN, aussi. – tvanfosson

+0

Je l'aurais fait avec la modification de classe pour séparer les préoccupations CSS et JS, mais je devais aller avec bloc pour les raisons ci-dessus – annakata

1

Vous voulez:

document.getElementById("TextArea2").style.visibility = "hidden"; 

"effondrement" est pas une valeur valide pour la propriété de visibilité dans IE6, comme votre message d'erreur indique. Alternativement, comme suggéré par @tvanoffsen, vous pouvez définir la propriété d'affichage sur "none". Cela a un effet légèrement différent - il ne prendra aucun espace s'il est réglé sur "display: none", tandis que le réglage "visibility: hidden" prend toujours de la place.

+0

@Greg - Je prévoyais la question suivante - comment puis-je me débarrasser de la vierge espace où le textarea était? :-) – tvanfosson

+0

Collapse est une valeur valide (http://www.w3.org/TR/CSS2/visufx.html#visibility) mais (il semblerait) non pris en charge dans IE6. – Quentin

+0

Hmm intéressant ... édité – Greg

5

AFFICHAGE

affichage Utilisez au lieu de la visibilité. Cela n'occupe aucun espace dans votre document.

document.getElementById("TextArea2").style.display = 'none'; // Turn off  
document.getElementById("TextArea2").style.display = 'inline'; // Turn on 

VISIBILITÉ

document.getElementById("TextArea2").style.visibility="hidden"; // Turn off 
document.getElementById("TextArea2").style.visibility="visible"; // Turn on 

En utilisant le textarea de code ci-dessus ne sera pas visible, mais il y aura un espace vide dans votre document ayant la hauteur et la largeur de la zone de texte.

également la valeur 'effondrement' est prise en charge uniquement dans Internet Explorer 8

-1

utilisation visible et caché pour .style.visibility attribut et ne bloque pas caché. cela fonctionne.

Questions connexes