Pb java

Résolu
DarkAurora Messages postés 443 Statut Membre -  
DarkAurora Messages postés 443 Statut Membre -
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. Fallentree Messages postés 2445 Statut Membre 210
     
    oui, voici un exemple
    for (j=0;j<ind;j++){
    var elem=document.getElementById("txt_options"+(j+1));
    elem.disabled=status;}
    0
  2. DarkAurora Messages postés 443 Statut Membre 27
     
    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. Fallentree Messages postés 2445 Statut Membre 210
       
      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. DarkAurora Messages postés 443 Statut Membre 27
       
      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. Fallentree Messages postés 2445 Statut Membre 210
       
      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. DarkAurora Messages postés 443 Statut Membre 27
       
      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. Fallentree Messages postés 2445 Statut Membre 210
       
      fi c est le formulaire houps pardon!
      0
  3. DarkAurora Messages postés 443 Statut Membre 27
     
    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