IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Désactiver la saisie d'un Input type=text si un autre est renseigné


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2019
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2019
    Messages : 38
    Points : 15
    Points
    15
    Par défaut Désactiver la saisie d'un Input type=text si un autre est renseigné
    Bonjour

    J'ai un formulaire de recherche et , je veux Désactive la saisie dans un Input type=text si un autre input est renseignée .

    Exemple : si l'utilisateur commence a écrire dans le input1 le input2 se désactivera automatiquement .

    Merci

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Citation Envoyé par Devil7 Voir le message
    ...Désactive(r) la saisie dans un Input type=text si un autre input est renseignée...

  3. #3
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2019
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2019
    Messages : 38
    Points : 15
    Points
    15
    Par défaut
    Non c'est pas ça ,

    Ce que je veux c'est lors de la saisie , si l'utilisateur commence a saisir dans un champ les autres se désactivent automatiquement .

    Et si le champ est de nouveau vide il peut saisir dans n'importe lequel.

    Merci

  4. #4
    Expert confirmé Avatar de psychadelic
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    2 529
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 2 529
    Points : 4 749
    Points
    4 749
    Par défaut
    je vois pas en quoi d'autre on peut traduire le mot désactiver autrement que par disabled en anglais javascript.

    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <form id="my-form">
      in1:<input type="text" id="in1">
      in2:<input type="text" id="in2">
      in3:<input type="text" id="in3">
    </form>

    Code JavaScript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    const   All_in  = document.querySelectorAll('#my-form input')
     
    All_in.forEach(xIn=>xIn.addEventListener('keypress',priorize) )
     
    function priorize() {
      let txtVide = ( this.value === '' )
      All_in.forEach(xIn=>{ if (xIn !== this)  xIn.disabled = !txtVide })
    }

  5. #5
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2019
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2019
    Messages : 38
    Points : 15
    Points
    15
    Par défaut
    J'ai copier le code comme il est mais ça n'a rien donner !!

    tu l'a testé avant ?

    j'ai chercher un peu dans le net et j'ai trouvé ce code :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     
    <input type="text" id="demo" onkeypress="myFunction()">
    <input type="text" id="demot" onkeypress="myFunction()">
     
    <script>
    function myFunction() {
    if(document.getElementById("demo")!=""){
      document.getElementById("demo").disabled = "disabled";}else{
      document.getElementById("demot").disabled = "disabled";}
    }
    </script>

    c'est bien ce que je veux mais le soucie c'est que quand je vide l' input , l'autre reste disable .

    Merci

  6. #6
    Expert confirmé Avatar de psychadelic
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    2 529
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 2 529
    Points : 4 749
    Points
    4 749
    Par défaut
    oui, et je teste toujours avant de poster

  7. #7
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2019
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2019
    Messages : 38
    Points : 15
    Points
    15
    Par défaut
    Bon le code que tu m'a donner marche bien sauf que j'ai toujours le soucie quand je vide l' input , l'autre reste disable .

    Merci

  8. #8
    Expert confirmé Avatar de psychadelic
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    2 529
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 2 529
    Points : 4 749
    Points
    4 749
    Par défaut
    Effectivement, j'ai testé un peu trop succinctement mon code.
    une petite erreur ente keypress et keyup...
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <form id="my-form">
      in1: <input type="text" id="in1"><br><br>
      in2: <input type="text" id="in2"><br><br>
      in3: <input type="text" id="in3">
    </form>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    const All_in  = document.querySelectorAll('#my-form input')
     
    All_in.forEach(xIn=>xIn.addEventListener('keyup',priorize) )
     
    function priorize()
    {
      let txtVide = ( this.value === '' )
      All_in.forEach(xIn=>{ if (xIn !== this) xIn.disabled = !txtVide })
    }

  9. #9
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2019
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2019
    Messages : 38
    Points : 15
    Points
    15
    Par défaut
    Oui merci beaucoup maintenant ça marche super bien .

    Sinon si je veux désactiver des combobox avec les inputs que dois je ajouter ?

  10. #10
    Expert confirmé Avatar de psychadelic
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    2 529
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 2 529
    Points : 4 749
    Points
    4 749
    Par défaut
    pareil; lui coller un disabled à true

  11. #11
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2019
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2019
    Messages : 38
    Points : 15
    Points
    15
    Par défaut
    Désolé mais je n'est pas bien saisie votre réponse donc voici mon code :

    votre script :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <script>
    		const All_in  = document.querySelectorAll('#my-form input')
     
    		All_in.forEach(xIn=>xIn.addEventListener('keyup',priorize) )
     
    		function priorize()
    		{
    		  let txtVide = ( this.value === '' )
    		  All_in.forEach(xIn=>{ if (xIn !== this) xIn.disabled = !txtVide })
    		}
    	</script>
    Code HTML : 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
     
     
                               <div class="control-group">
     
                                        <label class="control-label">nom : </label>
     
                                              <input type="text" placeholder="nom" class="input-small" id="in1" name="nom" />
     
     
                                        <label class="control-label">prenom : </label>
     
                                              <input type="text" placeholder="prenom" class="input-mini" id="in2" name="prenom" />
     
     
                                         <label class="control-label">adresse : </label>
     
                                        <SELECT NAME="lstcl"  id="in5">
                                               <OPTION  VALUE ="1">adresse</OPTION>
                                        </SELECT>
     
                               </div>

    ça n'a pas marcher !

    Encore Merci

  12. #12
    Expert confirmé Avatar de psychadelic
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    2 529
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 2 529
    Points : 4 749
    Points
    4 749
    Par défaut
    ... que dire... il y encore du chemin sur ta courbe d'aprentissage...
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <form id="my-form">
      <div class="control-group">
        <label class="control-label">nom : </label>
        <input type="text" placeholder="nom" class="input-small" id="in1" name="nom" />
        <label class="control-label">prenom : </label>
        <input type="text" placeholder="prenom" class="input-mini" id="in2" name="prenom" />
        <label class="control-label">adresse : </label>
        <select name="lstcl"  id="in5">
          <option  value="1">adresse</OPTION>
        </select>
      <div>
    </form>
    (ce serait utile de t'interresser aux <fieldset> )

    Code JavaScript : 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
     
     
      <!-- placer TOUT le JS en fin de body-->
      <script>
     
        const MyForm = document.querySelector('#my-form')
        ,     All_in = MyForm.querySelectorAll('input')
        ;
     
        All_in.forEach(xIn=>xIn.addEventListener('keyup',priorize) )
     
        function priorize()
        {
          let txtVide = ( this.value === '' )
          All_in.forEach(xIn=>{ if (xIn !== this) xIn.disabled = !txtVide })
        }
     
        // pour désactiver le select :
        MyForm.lstcl.disabled = false
     
      </script>
    </body>
    </html>

  13. #13
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par psychadelic Voir le message
    ... que dire... il y encore du chemin sur ta courbe d'aprentissage...
    @psychadelic

    Il faut quand même avouer que tu lui "balances" du code "pro" (c'est-à-dire COMPLEXE pour un débutant), sans mettre la moindre explication.
    Ça manque d'une pointe de pédagogie, non ?
    Parfois, tu me donnes l'impression de vouloir "étaler ta science"...

    Tu pourrais au moins lui expliquer cette ligne de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        All_in.forEach(xIn=>xIn.addEventListener('keyup',priorize) )
    voire mettre des lignes équivalentes, en code "SIMPLE" et plus facile à assimiler pour un débutant.

  14. #14
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2019
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2019
    Messages : 38
    Points : 15
    Points
    15
    Par défaut
    J'aimerais bien une petite explication aurais le bienvenue ... par ce que j'ai avancer un peu dans le code et je ne sais pas comment désactiver les combobox j’appelle avec la méthode include depuis un autre fichier comme ça :

    page index :

    Code HTMl : 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
    <form id="my-form">
      <div class="control-group">
        <label class="control-label">nom : </label>
        <input type="text" placeholder="nom" class="input-small" id="in1" name="nom" />
        <label class="control-label">prenom : </label>
        <input type="text" placeholder="prenom" class="input-mini" id="in2" name="prenom" />
     
       <label class="control-label">adresse</label>
                     <div class="controls" >
                                         <?php
                                                    include("fonction/load_adresse.php");
                                             ?> 
                        </div>
     
           </div>
    </form>

    la page load_adresse.php :

    Code PHP : 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
    <?php
     
    include("commun/connection.php");
    $requete = "SELECT ID_adresse,N_adresse FROM adresse ORDER BY ID_adresse ASC";
    $result = mysqli_query($idConnect,$requete) or die( "Exécution requête impossible.");
    mysqli_close( $idConnect);
     
     
     
    $ld = "<SELECT NAME='lstcl' 'id='in5'>";
    $ld .= "<OPTION  VALUE=0>Choisissez</OPTION>";
     
    while ( $row = mysqli_fetch_array( $result)) {
     
        $numcl = $row["ID_adresse"];
        $nomcl = $row["N_adresse"];
     
    	$ld .= "<OPTION VALUE='$numcl'>$nomcl</OPTION>";
    }
    $ld .= "</SELECT>";
     
     
    print $ld;
     
     
     
    ?>


    Merci d'avance

  15. #15
    Invité
    Invité(e)
    Par défaut
    1- Que le code soit dans un fichier en "include PHP" ne change rien : c'est comme si ce code était dans la même page.

    2- Regarde le "code HTML généré" ("Ctrl" + "U").

    Tu constateras (au moins) une erreur ici :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    $ld = "<SELECT NAME='lstcl' 'id='in5'>";

    Quant au while, inutile de créer des variables superflues :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    while ( $row = mysqli_fetch_array( $result)) {
            $ld .= "<option value='" . $row["ID_adresse"] . "'>" . htmlspecialchars($row["N_adresse"]) . "</option>" . "\n"; // (\n : passage à la ligne dans le code)
    }

  16. #16
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2019
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2019
    Messages : 38
    Points : 15
    Points
    15
    Par défaut
    Pour les inputs ça marche mais pour les combobox ça marche pas ils restent toujours enable , ils ne se désactive pas !

    Pour le code : $ld = "<SELECT NAME='lstcl' 'id='in5'>"; c’était juste une erreur de frappe .

    Merci

  17. #17
    Invité
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    All_in = MyForm.querySelectorAll('input')
    As-tu compris qu'il s'agit des <input> ?

    Il faut adapter cette ligne de code, pour ajouter les <select>.


  18. #18
    Expert confirmé Avatar de psychadelic
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    2 529
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 2 529
    Points : 4 749
    Points
    4 749
    Par défaut
    de toute façons, désactiver le select, je veux bien, mais sur quels critères ? quand Mars et Jupiter sont en conjonction ?

    s'Il n'y a aucune explication claire ici, c'est aussi du coté de la question!

  19. #19
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2019
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2019
    Messages : 38
    Points : 15
    Points
    15
    Par défaut
    Merci psychadelic votre code ma vraiment aidé par contre j'aimerais bien désactiver les select aussi et encore merci

    Et Merci aussi jreaux62 de m'avoir simplifier et expliquer d'avantage sur le code mais pour les select çà n'a pas marcher .

  20. #20
    Expert confirmé Avatar de psychadelic
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    2 529
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 2 529
    Points : 4 749
    Points
    4 749
    Par défaut
    Oui, bon, mais cela n'indique toujours pas la moindre logique pour désactiver le select : quand doit-il être désactivé ? tout le temps ou sinon sous quelles conditions ? ( en Français cela s'appelle des critères)

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Saisie dans un input type=text
    Par smotte761 dans le forum Langage
    Réponses: 5
    Dernier message: 03/04/2011, 08h19
  2. [HTML] input type text et Focus
    Par Stessy dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 21/06/2005, 14h06
  3. Affecter une valeur à un input type text
    Par mr.t dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 01/06/2005, 15h18
  4. redimentionner la hauteur d'une input type="text"
    Par GroRelou dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 13/04/2005, 10h32
  5. input type text limiter?
    Par philippejuju dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 11/03/2005, 09h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo