web-dev-qa-db-fra.com

jQuery - passage de valeur d'une entrée à une autre

J'ai un formulaire avec plusieurs champs de saisie qui sont title, name, address etc.

Ce que je veux faire, c'est obtenir ces valeurs et les "mettre" dans les valeurs d'autres champs de saisie. Par exemple

<label for="first_name">First Name</label>
<input type="text" name="name" />

<label for="surname">Surname</label>
<input type="text" name="surname" />

<label for="firstname">Firstname</label>
<input type="text" name="firstname" disabled="disabled" />

Donc, si je saisis John dans le champ first_name, la valeur de firstname sera également John.

Merci beaucoup

15
sipher_z

En supposant que vous puissiez mettre des identifiants sur les entrées:

$('#name').change(function() {
    $('#firstname').val($(this).val());
});

Exemple JSFiddle

Sinon, vous devrez sélectionner les noms suivants:

$('input[name="name"]').change(function() {
    $('input[name="firstname"]').val($(this).val());
});
52
Richard Dalton

C'est plus simple si vous modifiez un peu votre code HTML:

<label for="first_name">First Name</label>
<input type="text" id="name" name="name" />

<label for="surname">Surname</label>
<input type="text" id="surname" name="surname" />

<label for="firstname">Firstname</label>
<input type="text" id="firstname" name="firstname" disabled="disabled" />

alors c'est relativement simple

$(document).ready(function() { 
    $('#name').change(function() {
      $('#firstname').val($('#name').val());
    });
});
4
Russ Clarke

Ajoutez des attributs d'ID avec les mêmes valeurs que les attributs de nom, puis procédez comme suit: 

$('#first_name').change(function () {
  $('#firstname').val($(this).val());
});
1
Kon

Obtenir des données input1 pour les envoyer immédiatement à input2

<div>
<label>Input1</label>
 <input type="text" id="input1" value="">
</div>

</br>
<label>Input2</label>
<input type="text" id="input2" value="">

<script type="text/javascript">
        $(document).ready(function () {
            $("#input1").keyup(function () {
                var value = $(this).val();
                $("#input2").val(value);
            });
        });
</script>
0
Carlos Ferrer