Je suis en train de soumettre une zone de texte lorsque l'utilisateur appuie sur la touche Entrée, enregistrez le texte dans une var, puis en remplaçant le formulaire par le texte et en ajoutant un nouveau formulaire, rafraîchissant. J'ai été capable de le faire avec une entrée très bien, mais j'avais besoin de textarea et je n'arrive pas à le faire fonctionner.Soumettre textarea sur entrer keydown sans rafraîchir
HTML:
<div class="col-md-6 col-md-offset-6 col-centered terminal-header">
<div class="close text-center">x</div>
<p id="header-text">[email protected]:~</p>
<div class="row">
<div id="terminal-window" class="col-md-10 col-md-offset-2 col-centered">
<div class="form_wrapper">
<form class="terminal-text">
<p id="p_term" class="terminal-text">[email protected]:~ $ </p>
<textarea class="form_input" name="terminal" placeholder="Currently under construction, please come back later"></textarea>
</form>
</div>
</div>
</div>
</div>
JS:
$(document).ready(function() {
$(".form_input").keydown(function(){
if(event.keyCode==13){
$(".terminal-window").on("submit", "form", function (e) { //when form is submitted
submitCommand(e);
});
}
});
});
//triggered when user submits a command to the console
function submitCommand(e){
e.preventDefault();
var usrCommand=$('.form_input').val();
processCommand(usrCommand);
$(".form_wrapper").replaceWith("<p class='new-terminal-text' style='margin-left: -12px'>"+loc+usrCommand+"</p>"+"<br>");
$("#terminal-window").append("<div class='form_wrapper'><form class='terminal-text'><p class='terminal-text'>[email protected]:~ $</p> <textarea class='form_input' name='terminal' placeholder='echo Currently under construction, please come back later'></textarea></form></div>");
}
S'il vous plaît essayer de poster code complet, parce que la déclaration de: ** processCommand ** et * * loc ** ne trouve pas dans votre code. –