2012-11-19 39 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