J'essaie de déterminer comment copier une entrée de texte d'utilisateur dans un champ de formulaire à une autre. Spécifiquement, lorsque quelqu'un remplit son adresse e-mail dans le formulaire de contact, il sera dupliqué dans le formulaire de liste de diffusion.
Ces deux formulaires utilisent AJAX afin que le texte d'entrée ne soit pas préoccupé par Soumettre. P>
Ceci est le code que j'ai: p> J'ai trouvé ceci dans la documentation de jQuery, mais je ne pouvais pas le faire fonctionner: P> $("#email").optionCopyTo("#mail");
5 Réponses :
Vous pouvez simplement faire ce
Désolé, vous pouvez faire .val sur la cible et encore une fois .val sur la source aussi.
est $ ("# mail") une autre boîte de saisie? Il n'apparaît pas dans votre HTML (EDIT: Eh bien, ça fait maintenant, mais n'a pas au début :) p>
$ ("# mail"). Val ($ ("# e-mail"). Val ()) code> devrait faire ce que vous voulez. P>
Oui, j'ai fait une édition sournoise là-bas, quand j'ai vu le désordre que j'avais fait collé mon code ...: /
Étant donné que tous vos champs ont des identifiants uniques, cela est tout à fait simple: Essayez-le avec ce jsfiddle h2>
p>
Ah ouais, c'est presque ça, mais j'aimerais que le texte apparaisse comme ils le tapent, d'où mon utilisation dramatique du terme «temps réel». Un peu comme les effets matriciels mais avec une entrée de texte (blague).
Les notes de titre: Texte de saisie du champ en double en temps réel - ce n'est pas ça, désolé
Vous avez dit que vous le souhaitez dans temps réel em>. Je suppose que cela signifie que lorsque l'utilisateur tape, la valeur doit être reproduite pour chaque frappe de frappe. Si c'est vrai, essayez ceci: p> ou si vous voulez plus de jQuery : p> Ceci mettra à jour pour chaque "code> case-keoup code>" p> J'ajouterais probablement un flou Événement au cas où il y a une autocomplete dans le champ. P> $("#email").blur(function() {
$mail.val( this.value );
});
Utilisez Keyup et modifier les deux.
$("#boxx").on('keypress change', function(event) {
var data=$(this).val();
$("div").text(data);
});
J'utilise ce type de code. Mais c'est bon pour une seule pièce d'identité. Besoin de créer une fonction d'optimisation. Cela fonctionne pour chaque domaine.
@CHAITANYADESAI Vous pouvez le faire en utilisant un nom de classement ou de balise direct. Voici l'exemple jsfiddle.net/6hmxm/1209
Vous pouvez simplement faire ce $ ('# mail'). Val ($ ('# e-mail')))
Veuillez fournir un lien vers la méthode
.OPTIONCOPYTO () CODE> JQUERY. Je ne trouve pas de le trouver dans [ la documentation de jQuery. B>] ( docs.jquery.com/main_page ) ---- Oh, vous devez faire référence à ce plug-in - Plugins.jquery.com / Projet / Option - Il ne fait pas partie du noyau de JQuery, et il doit être ajouté séparément.Bonjour, oui c'est la page que je faisais appelé. Merci pour toute votre réponse, j'ai un peu de difficulté à faire travailler l'un d'entre eux. Avez-vous une chance de jeter un coup d'oeil? jsfiddle.net/djdfz/2
Exemple de travail Ici pour quiconque en a besoin: jsfiddle.net/djdfz/3
@ logique-unité, vous essayez d'attribuer une valeur à une fonction à `$ ('# mail'). Val () = this.value;
. JQuery's's's's ( code> .val ()] (http://api.jquery.com/val/) est un setter et une fonction getter, ce qui signifie que vous pouvez transmettre la valeur souhaitée en tant que premier argument. Essayez code> $ ('# mail'). Val ($ ('# e-mail'). Val ()) `. (Aussi, je pense que vous n'avez pas besoin d'envelopper le tout en $ (), puisque Jsfiddle fait déjà: jsfiddle.net/clarkf/3bqlk/1 )Merci @clarkf ouais je l'ai enveloppé dans un document prêt dans mon code. Bravo pour les pointeurs, mon JS est toujours jolie Ropey, je dois lire!