/ / Come mostrare la chiave digitata come nel modulo di input dopo aver simulato la pressione del tasto 'A' - javascript, jquery, key, simulate

Come mostrare come una chiave digitata in forma di input dopo simulare la chiave 'A' Premere - javascript, jquery, key, simulate

Questo è un codice per premere il tasto "A" (65): Vedi: http://jsfiddle.net/3xTM2/466 Il problema è: perché "A" non viene visualizzato dopo aver fatto clic su Invia?

var onclick = function(){
var e = $.Event("keypress");
e.which = 65; // Character "A"
$(this).focus().trigger(e);
console.log("pressed");
};

$("#test").click(onclick);
<input id="test" type="input" />

Voglio simulare "un" tasto clic nel modulo di inputdopo aver fatto clic sul pulsante Invia. Perché "A" non è stata digitata nel "modulo di input"? Come modificare questo codice per visualizzare "a" nel modulo di input dopo averlo simulato con javascript?

risposte:

0 per risposta № 1

Hai entrambi in questa soluzione. Il keypress e il value.

var onclick = function(){
var e = $.Event("keypress", { keyCode: 65});
var c = "A"; // Character "A"
$(this).trigger(e).val(c);
};

$("#test").click(onclick);

JSFIDDLE.


0 per risposta № 2

Mi scuso, questa non è una risposta ma una domanda, ma non ho i permessi per aggiungere un commento. Il codice seguente funziona perfettamente per me, come nel jsfiddle.

Il mio problema è che lo sto usando per aggiungere uno "spazio" quandoun utente fa clic su un campo compilato automaticamente. Attualmente sostituisce il contenuto compilato automaticamente. Come lo cambierei in modo che il campo compilato automaticamente venga mantenuto e lo spazio venga aggiunto dopo?

var onclick = function(){
var e = $.Event("keypress", { keyCode: 65});
var c = "A"; // Character "A"
$(this).trigger(e).val(c);
};

$("#test").click(onclick);

JSFIDDLE.