JavaScript/faire disparaitre 1 row d'1 table
Nikko
-
riserinard -
riserinard -
Bonjour,
Je suis en train de réaliser un tit code JS qui doit me permettre d'afficher ou non des lignes d'un tableau lorsque l'on sélectionne un radio button ou non.
Voici une partie de mon HTML (je ne mets que les "row" concernés par l'affichage)
et voici ma fonction Javascript :
Ce code fonctionne correctement sous FireFox, mais sous IE, je ne peux sélectionner que le premier radio button, le 2e est pas sélectionnable, et le javascript ne marche pas (si je modifie la CSS, je peux changer la couleur du texte, mais pas le cacher...)
Si vous avez une idée, je suis preneur... je me casse la tête depuis hier midi...
Merci par avance,
Nikko
Je suis en train de réaliser un tit code JS qui doit me permettre d'afficher ou non des lignes d'un tableau lorsque l'on sélectionne un radio button ou non.
Voici une partie de mon HTML (je ne mets que les "row" concernés par l'affichage)
<tr>
<td><input type=radio name="national" value="international" id="international" onClick="display()"> Je réside à l\'étranger</input></td>
<td><input type=radio name="national" value="national" id="national" onClick="display()" Checked="checked"> Je réside en France (DOM-TOM inclus)</input></td>
<td colspan="2"> </td></tr>
</tr>
<tr id="trBP">
<th id="bp">BP</th>
<td headers="bp"><input type="text" name="bp" size="5"></td>
<td colspan="2"> </td>
</tr>
<tr id="trZone">
<th id="zone">Sélection Zone</th>
<td headers="zone">
<select name="zone">
<OPTION VALUE="page1"> Text 1</option>
<OPTION VALUE="page2"> Text 2</option>
</select>
<td colspan="2"> </td>
</tr>
<tr id="trPays" style="display:none">
<th id="pays">Pays</th>
<td headers="pays">
<select name="pays">
<OPTION VALUE="page1"> Text 1</option>
<OPTION VALUE="page2"> Text 2</option>
</select> </td>
<td colspan="2"> </td>
</tr>
et voici ma fonction Javascript :
function display(){
var national = document.getElementById("national");
var international = document.getElementById("international");
var trZone = document.getElementById("trZone");
var trBP = document.getElementById("trBP");
var trPays = document.getElementById("trPays");
var navigateur = navigator.appName;
if(navigateur == "Netscape")
{
if(national.checked)
{
trZone.style.display = "table-row";
trBP.style.display = "table-row";
trPays.style.display = "none";
} else if(international.checked = "checked"){
trZone.style.display = "none";
trBP.style.display = "none";
trPays.style.display = "table-row";
}
} else {
if(national.checked = true)
{
trZone.style.display = "block";
trBP.style.display = "block";
trPays.style.display = "none";
} else {
trZone.style.display = "none";
trBP.style.display = "none";
trPays.style.display = "block";
}
}
}
Ce code fonctionne correctement sous FireFox, mais sous IE, je ne peux sélectionner que le premier radio button, le 2e est pas sélectionnable, et le javascript ne marche pas (si je modifie la CSS, je peux changer la couleur du texte, mais pas le cacher...)
Si vous avez une idée, je suis preneur... je me casse la tête depuis hier midi...
Merci par avance,
Nikko
A voir également:
- JavaScript/faire disparaitre 1 row d'1 table
- Table ascii - Guide
- Table des matières word - Guide
- Table des caractères - Guide
- Telecharger javascript - Télécharger - Langages
- Table des annexes word ✓ - Forum Word
2 réponses
J'ai légèrement avancé, mais j'ai un problème qui persiste. Désormais, lorsque je clique sur un radio button, je peux afficher/cacher mes champs. Le soucis c'est que ces champs sont inversés. Je m'explique :
radio1 radio2
ligne1
ligne2
ligne3
Je veux que quand je clique sur radio1 la ligne 1 et 2 disparaissent, et quand je clique sur radio 2, la ligne 3 disparaisse. Le hic c'est que quand je clique sur radio1, c'est ligne 3 qui disparaît et quand je clique sur radio 2 c'est la ligne 2 et 3 qui disparait. J4ai beau changer mon javascript, j'obtiens toujours le même comportement.
Je mets ici la version de mon JS modifiée et qui ne concerne que ie.
La solution logique pour inverser le comportement serait :
radio1 radio2
ligne1
ligne2
ligne3
Je veux que quand je clique sur radio1 la ligne 1 et 2 disparaissent, et quand je clique sur radio 2, la ligne 3 disparaisse. Le hic c'est que quand je clique sur radio1, c'est ligne 3 qui disparaît et quand je clique sur radio 2 c'est la ligne 2 et 3 qui disparait. J4ai beau changer mon javascript, j'obtiens toujours le même comportement.
Je mets ici la version de mon JS modifiée et qui ne concerne que ie.
if(national.checked)
{
trZone.style.display = "block";
trBP.style.display = "block";
trPays.style.display = "none"
} else {
trZone.style.display = "none";
trBP.style.display = "none";
trPays.style.display = "block";
}
La solution logique pour inverser le comportement serait :
if(national.checked)
{
trZone.style.display = "none";
trBP.style.display = "none";
trPays.style.display = "block";
} else {
trZone.style.display = "block";
trBP.style.display = "block";
trPays.style.display = "none";
}
mais rien ne fait !
Help plz :X