Pb java

Résolu
Bonjour, j'ai cette ligne de code :
document.f1.txt_options1.disabled = status;

mais j'aimerais que 'txt_options1' soit une variable qui prendrais le nom de mes différents elements

est ce possible???



--
je préfère fermer ma gueule et passer pour un con
que l'ouvrir et ne laisser aucun doute à ce sujet

3 réponses

  1. oui, voici un exemple
    for (j=0;j<ind;j++){
    var elem=document.getElementById("txt_options"+(j+1));
    elem.disabled=status;}
    0
    1. tout d'abord merci de ta réponse j'ai essayer de faire ce que je voulais faire avec getelementbyid et getelementbyname mais ça marche pas voila la partie de mon code que je souhaite develloper comme ennoncer dans la problematique:

      <html>   
      <head>   
      <title>Recherche</title>   
      <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">  
      <script language="JavaScript">  
      <!--  
      function enable_text(status,name)  
      {  
      status=!status;  
      subname="txt_".concat(name);  
      document.f1.txt_options1.disabled = status;  
      alert(name);  
      alert(subname);  
      }  
        //-->  
        </script>    
       </head>  
       <form method="POST" action="search.php" name="f1">  
       <LINK rel="stylesheet" type="text/css" href="style.css">  
      <body  onload="enable_text(false);">  
       <div id="bandeau">  
        TITRE  
       </div>  
      
      <?php  
       $db = mysql_connect('127.0.0.1', 'guigui', 'test')  or die('Erreur de connexion '.mysql_error());  
       // sélection de la base  
          
          mysql_select_db('bon intervention',$db)  or die('Erreur de selection '.mysql_error());  
      ?>  
       <div id="contenu">  
         <form method="POST">  
         <div id="selection">  
         <table>  
         <tr>  
          <td width="200px"> Date d Entrée   </td>  
          <td width="200px"> ID du Bon de commande   </td>  
          <td width="200px"> Client   </td>  
          <td width="200px"> Date de Sortie   </td>  
         </tr><tr>  
          <td width="200px" ><input type="checkbox" name="options1" onclick="enable_text(this.checked,this.name)"></td>  
          <td width="200px"><input type="checkbox" name="options2" onclick="enable_text(this.checked)"></td>  
          <td width="200px"><input type="checkbox" name="options3" onclick="enable_text(this.checked)"></td>  
          <td width="200px"><input type="checkbox" name="options4" onclick="enable_text(this.checked)"></td>  
         </tr><tr>      
          <td width="200px"><input type="text" name="txt_options1"></td>  
          <td width="200px"><input type="text" name="txt2"></td>  
          <td width="200px"><input type="text" name="txt3"></td>  
          <td width="200px"><input type="text" name="txt4"></td>  
          <td width="200px"><input type="submit" value="rechercher" name="rechercher"></td>  
         </tr>  
         </table>  
            
         </div>  
         </form>  
       </div>

      en fait je recupére le nom de ma checkbox associé à mon text et je concatène text_ avec le nom de ma checkbox ce qui me donne le nom de la zone de text associé

      je me demander si il n'existait pas une technique pour faire :

      document.f1.$VarNameText.disabled = status; ?? car vois tu je ne souhaite entrez du texte dans mon formulaire que si j'ai cocher la case correspondante au préalable et non pas les rendre disponible toutes en même temps

      Merci d'avance
      je préfère fermer ma gueule et passer pour un con
      que l'ouvrir et ne laisser aucun doute à ce sujet
      0
      1. tu as l air de melanger le php a java ???
        document.f1.$VarNameText.disabled = status
        si c est en php que tu veux gerer le mane ...
        document.f1.<?php echo $VarNameText;?>.disabled = status
        0
      2. dsl de t'avoir induit en erreur le $ est juste la pour marquer la variable. en fait mon problème est que le java je le fait à l'arrache je le comprend plutôt bien mais je n'ai pas les notions de prog basic alors j'essaye de faire la comparaison avec d'autre langage que je connais bien et je fait l'amalgame et je me plante

        document.f1 permet d'accéder à l'element f1 qui est mon form non??
        ensuite je récupère la propriété disabled de l'élément txt_options1 qui est un textbox c'est ça ou je me plante complètement??
        et c'est la propriété name de l'élément textbox que je souhaite transformer en variable
        0
      3. fait le en coups par coups avec des alert.
        il me semble qu il n y a pas de groupe
        cad:
        document.f1.txt_options1.disabled n existe pas
        mais
        document.txt_options1.disabled lui oui
        a toi de verifier suivant la structure !!! avec alert (elem.name);
        0
      4. document.f1.txt_options1.disabled fonctionne tester et approuver maintenant je n'ai vraiment pas assez de connaissance en javascript DOM jquery tout ce que tu veux pour faire exactement ce que je veux mais mon gros problème c'est que je suis persuadés que c'est faisables :
        function enable_text(status,name) // je passe en parametre le statut de la checkbox et son nom qui est du style options1,options2,....,optionsn
        {
        status=!status; //change le statut true->false
        subname="txt_".concat(name); // je crée une variable qui prend le nom de mon textbox qui est du style txt_options1,...txt_optionsn
        document.f1.txt_options1.disabled = status; // et la je change le status si je passe le nom directement ça marche mais la je veux insérer ma variable subname pour que mon nom de textbox soit dynamique
        alert(name); // test qui me dit que ça marche
        alert(subname); // test qui me dit que ça marche ^^
        }

        j'ai essayé aussi un document.GetElementByName(subname).disabled = status mais ça a pas marché non plus
        0
      5. fi c est le formulaire houps pardon!
        0
    2. en fait c bon ça me souler de pas trouver donc je l'ai fait à la barbare et ça fonctionne :
      function enable_text(status,name) 
         { 
          subname="txt_".concat(name); 
          if(subname=="txt_options1") 
          { 
           status=!status; 
           document.f1.txt_options1.disabled = status; 
          } 
          if(subname=="txt_options2") 
          { 
           status=!status; 
           document.f1.txt_options2.disabled = status; 
          }  
          if(subname=="txt_options3") 
          { 
           status=!status; 
           document.f1.txt_options3.disabled = status; 
          } 
          if(subname=="txt_options4") 
          { 
           status=!status; 
           document.f1.txt_options4.disabled = status; 
          } 
          if(subname=="txt_") 
          { 
           status=!status; 
           document.f1.txt_options1.disabled = status; 
           document.f1.txt_options2.disabled = status; 
           document.f1.txt_options3.disabled = status; 
           document.f1.txt_options4.disabled = status; 
          } 
         }

      le dernier if me permet l'initialisation au premier chargement de la page il permet de rendre toutes les textbox disabled

      merci encore pour ton aide
      je préfère fermer ma gueule et passer pour un con
      que l'ouvrir et ne laisser aucun doute à ce sujet
      0