2012-11-19 24 views
3

我有一个jquery提交textarea,现在我想设置textarea提交而不用提交按钮。只需使用回车键。jquery设置在我的代码中输入密钥textarea

<textarea id="ctextarea"></textarea> 

这是在JS:

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

    if(comment=='') 
    { 
    $('#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; 
}); 

我已经搜索教程和发现,但我困惑我在哪里可以将代码放在我的JS代码。

有人可以提出这个想法吗? 感谢您的帮助。

+0

我没有看到任何代码在这里监视'.keyup()'事件。 – Ohgodwhy

+0

是的,这就是为什么我问... – Nagini

+0

使用keypresssd jquery函数。 http://api.jquery.com/keypresssd – ryanc1256

回答

0

您可以订阅的keydown/keyup事件,并提交事件处理程序的内部形式:

var KEY_ENTER = 13; 
$('#ctextarea').keyup(function (event) { 
    if (event.keyCode === KEY_ENTER) { 
     $('form').submit(); 
     // Or perform any necessary ajax calls here 
    } 
}); 
3
$('#ctextarea').on('keyup', function(e){ 
    if(e.which == 13 || e.keyCode == 13){ 
     //enter key pressed.. 
    } 
}); 
+0

我已经测试过,但没有工作,也许你可以给我一个步骤,我可以在哪里放置该代码? – Nagini

+0

@Nagini [this jsFiddle](http://jsfiddle.net/HVckk/)应该列出你需要的一切。 – Ohgodwhy