1) Je dois verifier si un champs input est saisi si une radio est coché
voila un screen :

Pièce jointe 38119

Si libre est coché, le prix doit etre rentré.

Ce tableau est generer dynamiquement en fonction des choix de l'internaute.
C'est a dire que les id sont egalement généré.
Voici le code html retourné par la fonction :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<form name="tableau" method="post" action="traitement.php" onsubmit="return validation()">
      <table align="center" border="1">
        <tr>
                     <td>du 20/06/2009 au 27/06/2009</td>
                     <td>
                       <input type="radio" id="rada[0]" name="etat[0]" value="1" checked>
                       Libre
                     </td>
                     <td>
                       <input type="radio" id="rad0" name="etat[0]" value="0" onclick="changement('rad0','prix0');">
                       Occup&eacute;
                     </td>
                     <td></td>
                     <td>
                       <input name="prix[0]" type="text" size="10" id="prix0" class="test">€
                     </td>
                   </tr>
<tr>
                     <td>du 27/06/2009 au 04/07/2009</td>
                     <td>
                       <input type="radio" id="rada[1]" name="etat[1]" value="1" checked>
                       Libre
                     </td>
                     <td>
                       <input type="radio" id="rad1" name="etat[1]" value="0" onclick="changement('rad1','prix1');">
                       Occup&eacute;
                     </td>
                     <td></td>
                     <td>
                       <input name="prix[1]" type="text" size="10" id="prix1" class="test">€
                     </td>
                   </tr>
Voici le code javascript :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
function validation() {
var inputList = document.getElementById('tableau').getElementsByTagName('input');
var test = 0; 
var count = inputList.length; 
for(var i = 0; i < count; i++) { 
  var input = inputList[i]; 
  if(input.value == '' && document.getElementByid('rad['+i+']').checked) { 
    alert("Entrer votre prix svp !");
    input.focus; 
    test++; 
  } 
} 
 
return (test == 0);
}
 
Mais ca ne marche pas. J'ai reussi a le faire marché sans le && document.getElementByid('rad[+i+]').checked . Il tourne en boucle ce qui est normal vu qu'il est dans la boucle.
 
Savez vous comment regler ceci.
2) Si le radio occupé est coché je veux que le prix soit desactivé.

J'ai cette fonction :

function changement(a,b)
{
if (document.getElementById(a).checked) {
document.getElementById(b).disabled=true; }
else {
document.getElementById(b).disabled=false;
}

Le probleme, c'est qu'en cliquant sur le radio occupé, il me desactive bien le prix mais en recliquant sur libre il reste inactif

Petite idée ?