3 Stimmen

Jquery setze die Eingabetaste im Textfeld in meinem Code

Ich habe ein Jquery-Formularfeld, jetzt möchte ich das Formularfeld ohne Button durch Drücken der Eingabetaste senden.

Hier ist der JS-Code:

$('.comment_button').live("click",function() 
{
    var ID = $(this).attr("id");
    var uid = $("#uid").val();
    var kommentar = $("#ctextarea"+ID).val();
    var dataString = 'kommentar='+ kommentar + '&msg_id=' + ID + '&uid=' + uid;

    if(kommentar=='')
    {
    $('#ctextarea').html("").fadeIn('slow');
    $("#ctextarea"+ID).focus();
    }
    else if (!$.trim($("#ctextarea"+ID).val()))
    {
        $("#ctextarea"+ID).focus();
    }
    else
    {
    $.ajax({
    type: "POST",
    url: "comment_ajax.php",
    data: dataString,
    cache: false,
    success: function(html){
    $("#commentload"+ID).append(html);
    $("#ctextarea"+ID).val('');
    $("#ctextarea"+ID).focus();
     }
 });
}
return false;
});

Ich habe bereits die Tutorials durchsucht und herausgefunden, aber ich bin verwirrt, wo ich den Code in meinen JS-Code einfügen soll.

Kann mir jemand eine Idee geben? Danke für die Hilfe.

3voto

Ohgodwhy Punkte 49044
$('#ctextarea').on('keyup', function(e){
    if(e.which == 13 || e.keyCode == 13){
        //Eingabetaste gedrückt..
    }
});

0voto

Konstantin Dinev Punkte 32517

Sie können ein keydown/keyup-Ereignis abonnieren und das Formular im Ereignis-Handler übergeben:

var KEY_ENTER = 13;
$('#ctextarea').keyup(function (event) {
    if (event.keyCode === KEY_ENTER) {
        $('form').submit();
        // Oder führen Sie hier erforderliche Ajax-Aufrufe durch
    }
});

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X