Przesyłanie formularza po naciśnięciu klawisza Enter w polu tekstowym
Próbowałem różnych metod, aby wysłać formularz po naciśnięciu klawisza Enter. Wiem, że działa z polem wejściowym, ale ponieważ będzie to komentarz, musi to być obszar tekstowy.
Właśnie to mam do przesłania formularza za pomocą przycisku.
$('.messageSubmit').live('click', function(){
var name = $(this).siblings('.messageTextarea').val();
var theid = $(this).attr('data-the_id');
var dataString = name;
$.ajax({
dataType: 'json',
url: "https://api.instagram.com/v1/media/"+$(this).attr('data-the_id')+"/comments?"+hash,
type: "POST",
data: "text="+dataString,
success: function(data) {
// finish load
console.log(data, dataString, 'fail');
},
error: function(data) {
var username = JSON.parse(localStorage.getItem('iguser'));
var profilepic = JSON.parse(localStorage.getItem('iguserimg'));
//console.log(data, dataString, 'succ');
$('.box[data-the_id="' + theid + '"]').children('.postMessage').children('.messageComments').append('<li><img class="commentUserImg" src="' + profilepic + '"><div class="commentUser">' + username + '</div><div class="commentText">' + dataString + '</div></li>');
$('.messageTextarea').val(''); // Remove comment from TextArea
}
});
return false;
});
Działa tak, jak powinno. Chcę usunąć przycisk przesyłania i po prostu wysłać formularz, gdy użytkownik kliknie klawisz Enter. Wiem, że niektórzy ludzie odradzają to, ale użytkownicy na tej stronie będą przyzwyczajeni do trafiania z Facebooka i tak dalej.
Próbowałem takich metod, ale wydaje się, że nie działa.
$('.messageTextarea').keydown(function() {
if (event.keyCode == 13) {
this.form.submit();
return false;
}
});
Oto mój kod formularza
<form>
<textarea class="messageTextarea" onfocus="if(this.value==this.defaultValue)this.value=\'\';" onblur="if(this.value==\'\')this.value=this.defaultValue;">Write your comment here...</textarea>
<input type="submit" data-the_id="' + theid + '" name="submit" class="messageSubmit" id="submit_btn" value="Submit your comment">
</form>
Każda pomoc byłaby świetna. Ponadto, jeśli ktoś wie, jak dodać funkcję if, która uniemożliwi przesyłanie formularza z bieżącą wartością domyślną w Textarea, byłoby to niesamowite. Obecnie, po ustawieniu pola tekstowego, jeśli po prostu klikniesz przycisk Prześlij, zostanie on przesłanyNapisz tutaj swój komentarz ...
Dzięki
EDYCJA: Czy praca może być ... Posiadanie przycisku do przesłania, jak zwykle, ale ukryte, a po naciśnięciu Enter wywołuje wywołanie tego przycisku? Ale wtedy ... natknąłem się na ten sam problem z wejściem, nie robiąc nic w polu tekstowym, z wyjątkiem włamania się do nowej linii ...