2010-05-25 6 views
1

Je n'ai pas réussi à trouver un plugin jQuery qui m'a permis d'écrire simultanément deux entrées. J'essaye d'écrire un titre normal dans un champ, et en même temps tapez dans une autre entrée écrivez le même texte sans caractères spéciaux ou espaces.Comment saisir deux champs de texte de manière simultanée (jQuery)

par exemple.

Entrée 1: Ceci est mon titre!

Entrée 2: ThisIsMyTitle

+0

Voulez-vous chaque caractère d'entrée 1 à apparaître dans l'entrée 2 (moins les caractères spéciaux) ** que vous tapez? ** –

+0

que vous tapez, si elles coller un titre dans ... toute condition de ce genre, à la volée, serait idéal. – tester

Répondre

6

sur keyup copier la valeur d'entrée de l'entrée de courant en entrée 2e, aucun plugin est nécessaire.

$("input#first").keyup(function(e){ 
    var val = $(this).val(); 
    val = val.replace(/[^\w]+/g, ""); 
    $("input#second").val(val); 
}); 

quelque chose comme ça

+2

Mai aussi utiliser 'this.value' (beaucoup moins cher que' $ (this) .val() '). En outre, vous devriez mettre en cache '$ (" input # second ")'. – James

+0

quelque chose comme ça == pas optimal. En fait, je l'ai écrit lors d'un appel de support avec lenovo. – mkoryak

0
jQuery("input1").keyup(function() { 
    jQuery("input2").val(removeWhiteSpace(jQuery("input1"))); 
} 

(code de pseudo)

1
$("#myTextInput").keyup(function() { 
    var text = $(this).val(); 
    text = processText(text); 
    $("#secondTextField").val(text); 
}); 
0
​var a = jQuery('input#a'), 
    b = jQuery('input#b'); 

a.keyup(function(){ 
    b.val(this.value.replace(/[^\w]/g, '')); 
});​​​​​​​ 
0

de code complet, il ne recevra que des lettres et des chiffres et affichage sur le input2 sans rien d'autre.

$("#input1").keyup 
(
    function() 
    { 
     $("#input2").val 
     (
      $(this).val().match(/[a-z]|[0-9]/gi).join("") 
     ); 
    } 
); 
Questions connexes