2013-03-30 48 views
1

我構建了一個簡單的表單,只要按ENTER鍵就可以提交。它工作正常,但每當我嘗試在其中運行.post時,textarea中的文本會在按Enter而不是提交時中斷。jQuery on enter key提交表格

我的意思是通過打破


文本是在textarea的是什麼
|打破


這工作得很好

// Submit comment on ENTER key pressed 
    $("textarea[name=comment_body]").keypress(function(event) { 
     if (event.which == 13) { 

      alert(comment_body); 
     } 
    }); 

這不

// Submit comment on ENTER key pressed 
    $("textarea[name=comment_body]").keypress(function(event) { 
     if (event.which == 13) {   
      var comment_body = $(this).val();  
      $.post("comments.php", { 
       comment_body: comment_body 
      } 
      alert(comment_body); 
     } 
    }); 

我如何使用jQuery。員額在這裏面,沒有它失敗?

+0

你忘了'event.preventDefault()',你也可能是指'comment_body',而不是'remove_comment' –

+0

感謝我沒有看到,我只好'event.preventDefault()'在那裏,它仍然搞亂了。 –

+1

你只是有一個語法錯誤,你在'$ .post'函數調用結束時缺少')'圓括號。 – plalx

回答

1

你應該做的是這樣的:

$("textarea[name=comment_body]").keypress(function(event) { 
    if (event.which == 13) {   
     var comment_body = $(this).val();  
     $.post("comments.php", {cb: comment_body}, function(data){ 
      alert(data.cb); 
     }, "json"); 
}); 

似乎什麼我你通過jQuery的$.post()方法{comment_body:remove_comment}發佈的數據comments.php,但你沒有使用回調函數在裏面。

無論您在參數中傳遞的回調函數中是否發佈comment.php

+0

當我按下提交時,textarea中的行仍然斷裂。 –

+0

您可以嘗試在此更新的答案中發佈'json' – Jai

+0

並且我認爲您發送了錯誤的數據,您應該嘗試使用此「{cb:comment_body}」。 – Jai

0

post的語法是:$ .post(URL,data,callback);

$.post("comments.php", 
    { 
    comment_body: remove_comment 
    }, 
    function(result){ 
     alert(result.comment_body); 
});