Ho un modulo con un'area di testo e premendo il tasto Invio invio il mio modulo. Come posso farlo per aggiungere un nuovo carattere di linea invece di un invio di modulo.Aggiungi un nuovo carattere di linea a textarea invece di inviare il modulo
risposta
$('textarea').keypress(function(event) {
if (event.which == 13) {
event.preventDefault();
var s = $(this).val();
$(this).val(s+"\n");
}
});
bene per ogni amico che ha risposto dovrebbe leggere correttamente la domanda;) –
+1 per essere l'unica persona finora a farlo! – Archer
Beh, stavo pensando di rispondere per primo ma ho avuto una confusione su '/ n' o' \ n';) –
si può provare questo codice:
$(document).ready(function() {
$("textarea").keydown(function(event){
if(event.keyCode == 13) {
event.preventDefault();
return false;
}
});
});
Questo lo disabilita attraverso la finestra, che potrebbe non essere intesa. Dovresti applicarlo alla casella di input in questione. – ryadavilli
Questo dovrebbe aiutare
$('#myProblematicForm textarea').keypress(function(event) {
if (event.which == 13) {
event.preventDefault();
this.value = this.value + "\n";
}
});
Per quello che vale, io sto usando Chrome su OS X e Enter inserisce un \n
in una textarea per me e fa non inviare moduli per impostazione predefinita.
amico sto usando anche Google Chrome Ma su Windows, non aggiunge interruzione di linea come predefinito! –
@AspiringAqib, non sono tuo amico, amico: P –
ok, sto usando anche Google Chrome, ma su Windows, non aggiunge interruzioni di linea come predefinito! –
$(document).ready(function() {
$('textarea').keydown(function(event){
if (event.keyCode == 13) {
event.preventDefault();
var s = $(this).val();
$(this).val(s+"\n");
}
});
});
risposte precedenti non gestiscono dividere il valore corrente del textarea e aggiunge semplicemente un carattere di nuova riga. Quanto segue interrompe l'evento fino al modulo e consente comunque il tipico comportamento dell'area di testo su "invio".
$('textarea').keydown(function(event) {
if (event.keyCode === 13) {
event.stopPropagation();
}
});
questo ha lavorato per me
$(document).keypress(function(e) {
if(e.which == 13) {
if(document.activeElement.tagName != "TEXTAREA") {
e.preventDefault();
};
}
})
$(document).ready(function(){
$("#text").keypress(function(event) {
if (event.which == 13) {
var s = $(this).val();
$(this).val(s+"\n"); //\t for tab
}
});
});
Questo può essere fatto dal codice jQuery che ho dato sopra. È necessario notare che l'uso della funzione ready è necessario quando si scrive sopra lo script prima dei codici del campo di input HTML e non è necessario quando lo si scrive dopo i codici del campo di input. Se non funziona prova a usare \ t al posto di \ n funzionerà.
Sebbene questo codice possa rispondere alla domanda, fornire un contesto aggiuntivo riguardo a come e/o perché risolve il problema migliorerebbe il valore a lungo termine della risposta. Leggere questo [come risposta] (http://stackoverflow.com/help/how-to-answer) per fornire una risposta di qualità. – thewaywewere
Grazie per i suggerimenti @thewaywewere, vedere la mia risposta modificata, spero che possa aiutarti. –
Lavori con ASP.net? – anmarti
no iam funziona con Spring mvc, ma questo è un semplice modulo html. – khizar
well buddy shift + invio come predefinito funziona come quello che vuoi –