OVH Cloud OVH Cloud

passer un champ text en hidden ?

7 réponses
Avatar
karim
Bonjour a tous.

Je voudrais passer un champ text en hidden pour qu'il disparaisse.

Je met :
document.forms["test"].expediteur_libre.type="hidden";

ca marche pas.

vous savez pourquoi ?

Merci.

7 réponses

Avatar
BMR
Bonjour a tous.

Je voudrais passer un champ text en hidden pour qu'il disparaisse.

Je met :
document.forms["test"].expediteur_libre.type="hidden";

ca marche pas.

vous savez pourquoi ?

Merci.




C'est normal, les types des éléments de formulaire sont "read-only". Par
contre, on peut le modifier en utilisant les fonctions DOM :

var champs = document.getElementsByName("test");
champs[0].type = "hidden";

ou en plus court :
document.getElementsByName("test")[0].type = "hidden";

BMR

Avatar
karim
"BMR" a écrit dans le message de news:
423a6f49$0$29132$
Bonjour a tous.

Je voudrais passer un champ text en hidden pour qu'il disparaisse.

Je met :
document.forms["test"].expediteur_libre.type="hidden";

ca marche pas.

vous savez pourquoi ?

Merci.




C'est normal, les types des éléments de formulaire sont "read-only". Par
contre, on peut le modifier en utilisant les fonctions DOM :

var champs = document.getElementsByName("test");
champs[0].type = "hidden";

ou en plus court :
document.getElementsByName("test")[0].type = "hidden";

BMR


Et est-ce que c'est possible, à un endroit, de faire apparaitre soit un
champ texte soit un champ liste si il coche l'un des bouton radio (et
d'inverser si il coche l'autre ).

Merci beaucoup.


Avatar
Thibault TAILLANDIER
"BMR" a écrit dans le message de news:
423a6f49$0$29132$

ou en plus court :
document.getElementsByName("test")[0].type = "hidden";

BMR



Et est-ce que c'est possible, à un endroit, de faire apparaitre soit un
champ texte soit un champ liste si il coche l'un des bouton radio (et
d'inverser si il coche l'autre ).

Merci beaucoup.




Salut,
Il me parait plus logique de passer la visibilité du champs en hidden
plutot que son type ...

<script>
function show ( id ) {
var obj = document.getElementById( id );
if ( obj ) { obj.style.visibility = 'visible'; }
}

function hide ( id ) {
var obj = document.getElementById( id );
if ( obj ) { obj.style.visibility = 'hidden'; }
}

</script>

<input type="text" name="champ1" id="champ1" style="visibility: hidden">
<input type="text" name="champ2" id="champ2" style="visibility: visible">

<input type="radio" name="champ3" id="champ3_1" onClick="if
(this.checked) { hide('champ1'); show('champ2'); }">
<input type="radio" name="champ3" id="champ3_2" onClick="if
(this.checked) { hide('champ2'); show('champ1'); }">

Non testé.
Bye
--
Thibault


Avatar
o.ligny
Salut,

Si tu veux qu'il disparaisse, t'as qu'à faire comme ça :

<input type=text id=expediteur_libre name=expediteur_libre>
Et après en JS : document.getElementById('expediteur_libre').style.display
= "none";

Note : tu peux tout aussi bien utiliser le tableau forms comme dans
ton code de départ :
document.forms["test"].expediteur_libre.style.display = "none";

@+
O.L.


"karim" wrote in message news:...
Bonjour a tous.

Je voudrais passer un champ text en hidden pour qu'il disparaisse.

Je met :
document.forms["test"].expediteur_libre.type="hidden";

ca marche pas.

vous savez pourquoi ?

Merci.


Avatar
karim
"Thibault TAILLANDIER" a écrit dans le
message de news: 423aaac1$0$28018$
"BMR" a écrit dans le message de news:
423a6f49$0$29132$

ou en plus court :
document.getElementsByName("test")[0].type = "hidden";

BMR



Et est-ce que c'est possible, à un endroit, de faire apparaitre soit un
champ texte soit un champ liste si il coche l'un des bouton radio (et
d'inverser si il coche l'autre ).

Merci beaucoup.


Salut,
Il me parait plus logique de passer la visibilité du champs en hidden
plutot que son type ...

<script>
function show ( id ) {
var obj = document.getElementById( id );
if ( obj ) { obj.style.visibility = 'visible'; }
}

function hide ( id ) {
var obj = document.getElementById( id );
if ( obj ) { obj.style.visibility = 'hidden'; }
}

</script>

<input type="text" name="champ1" id="champ1" style="visibility: hidden">
<input type="text" name="champ2" id="champ2" style="visibility: visible">

<input type="radio" name="champ3" id="champ3_1" onClick="if (this.checked)
{ hide('champ1'); show('champ2'); }">
<input type="radio" name="champ3" id="champ3_2" onClick="if (this.checked)
{ hide('champ2'); show('champ1'); }">




Bonjour et merci. J'ai adapté ca a mon code ca donne exactement ce que je
voulais.

Mais j'ai encore une derniere petite question.

En fait dans ma page champ1 est une liste déroulante et champ2 est une zone
de texte.

Est ce que c'est possible qu'en fonction du bouton radio clické, l'un ou
l'autre apparaissent au même endroit ?

Merci.



Avatar
Olivier Miakinen

Mais j'ai encore une derniere petite question.

En fait dans ma page champ1 est une liste déroulante et champ2 est une zone
de texte.

Est ce que c'est possible qu'en fonction du bouton radio clické, l'un ou
l'autre apparaissent au même endroit ?


Oui, il suffit de les mettre au même endroit dans le code (enfin... l'un
derrière l'autre, mais l'ordre n'a pas d'importance) et de mettre l'un à
"hidden" tandis que l'autre sera "visible".

Quant au texte cité, ce serait bien d'en mettre une bonne quantité à
"hidden" également : <http://www.giromini.org/usenet-fr/repondre.html>.


--
Olivier Miakinen
Non, monsieur le juge, je vous le jure : jamais je n'ai cité
Bruxelles dans ma signature.

Avatar
Olivier Miakinen

Est ce que c'est possible qu'en fonction du bouton radio clické, l'un ou
l'autre apparaissent au même endroit ?


Oui, il suffit de les mettre au même endroit dans le code (enfin... l'un
derrière l'autre, mais l'ordre n'a pas d'importance) et de mettre l'un à
"hidden" tandis que l'autre sera "visible".


Rectification : ce n'est pas visibility="hidden" qui permet cela, c'est
display="none".

--
Olivier Miakinen
Non, monsieur le juge, je vous le jure : jamais je n'ai cité
Bruxelles dans ma signature.
À tout hasard : <http://www.giromini.org/usenet-fr/repondre.html>