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 :

Remplir un input à partir d'autres inputs


Sujet :

JavaScript

  1. #1
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 67
    Points : 64
    Points
    64
    Par défaut Remplir un input à partir d'autres inputs
    Bonjour à tous !

    Tout d'abord, je tiens à dire que je suis extrêmement débutante en JS (pour tout dire j'en avais jamais fais avant lundi...).

    Voilà mon soucis : j'ai un formulaire d'ajout d'utilisateurs avec plusieurs champs, dont trois qui m'intéressent pour ce problème (name, first_name, et username).
    Je souhaiterais que quand je rentre un name, et un first_name, mon champ username se remplisse avec le name et la première lettre du first_name (Ex: Jean Dupont => dupontj)

    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
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    // Mon formulaire (fait avec CakePHP)
     
    <?= $this->Html->script('jquery1.11.3.min.js') ?>
    <?= $this->fetch('script') ?>
    <?= $this->Html->script('users.js') ?>
     
    <div class="container">
        <div class="row row-offcanvas row-offcanvas-right">
            <?php 
                // Appel du menuAdmin.ctp
                $page_en_cours = 'indexUsers';
                echo $this->element('menuAdmin', compact('page_en_cours'));
            ?>
     
            <div class="col-xs-12 col-sm-9">
                <div class="jumbotron">
                    <div class="users form large-9 medium-8 columns content">
                        <h3>Création d'un nouvel utilisateur</h3>
     
                        <?= $this->Form->create($user) ?>                    
                        <fieldset>
                            <div class="input text required">
                                <label for="name">Nom</label>
                                <input type="text" name="name" required="required" maxlength="20" id="name" onkeyup="remplir()" />
                            </div>
                            <div class="input text required">
                                <label for="first-name">Prénom</label>
                                <input type="text" name="first_name" required="required" maxlength="20" id="first-name" onkeyup="remplir()" />
                            </div>
                            <div class="input text required">
                                <label for="username">Identifiant</label>
                                <input type="text" name="username" required="required" maxlength="20" id="username" />
                            </div>
                            <?php
                                //echo $this->Form->input('name', ['label' => 'Nom']);
                                //echo $this->Form->input('first_name', ['label' => 'Prénom']);
                                echo $this->Form->input('email', ['label' => 'Email']);
                                //echo $this->Form->input('username', ['label' => 'Identifiant']);
                                echo $this->Form->input('password', ['label' => 'Mot de passe']);
                                //echo $this->Form->input('pass2', ['type' => 'password', 'label' => 'Confirmation']);
                                echo $this->Form->input('profil_id', ['options' => $profiles, 'label' => 'Profil']);
                                echo $this->Form->input('status', array('label' => 'Statut', 'type' => 'select', 'options' => ['Actif', 'Inactif']));
                                echo $this->Form->input('first_connect');            
                            ?>
                        </fieldset>
                        <div class="submit" id="ajouter">
                            <input class="btn" type="submit" value="Publier" />
                            <input class="btn" type="button" onclick="window.location.replace('/Intranet/users/index')" value="Annuler" />
                        </div>
                        <?= $this->Form->end() ?>
                    </div>
                </div>
            </div><!--/.col-xs-12.col-sm-9-->                
        </div><!--/row-->
    </div><!--/.container-->
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    // Ma fonction remplir()
    function remplir()
    {
    	//alert('bonjour');
    	document.getElementById('username').value = document.getElementById('name').value + document.getElementById('first_name').value;
    }
    Pour commencer j'ai juste chercher à remplir mon input avec le nom et le prénom sans chercher à mettre que la première lettre.
    Toutefois, comme vous pouvez vous en douter, ça ne fonctionne pas

    Merci par avance pour votre aide !
    Ju'

  2. #2
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2011
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2011
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <input type="text" name="last_name" required="required" maxlength="20" id="last_name" onkeyup="remplir()" />
    <input type="text" name="first_name" required="required" maxlength="20" id="first_name" onkeyup="remplir()" />
    <input type="text" name="username" required="required" maxlength="20" id="username" />
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <script>
            // Ma fonction remplir()
            function remplir() {
                    //alert('bonjour');
                    var last_name = document.getElementById('last_name').value;
                    var first_name = document.getElementById('first_name').value;
                    document.getElementById('username').value = last_name + ' ' + first_name;
            }
    </script>

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2003] Remplir un fichier à partir d'autres
    Par shyel dans le forum Excel
    Réponses: 5
    Dernier message: 24/04/2012, 16h11
  2. [XL-2007] [Débutant] Remplir un tableau à partir d’un autre tableau
    Par DerJul dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 05/07/2011, 11h37
  3. Remplir un input à partir d'un autre input
    Par melsanka dans le forum ASP
    Réponses: 7
    Dernier message: 22/03/2011, 12h54
  4. Auto copie d'un input a un autre input
    Par mecmec dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 22/05/2007, 09h05
  5. Ajouter du texte dans un input à partir d'une autre fenêtre
    Par Michaël dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 13/04/2005, 20h14

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