2016-06-14 64 views
2

我試圖通過單擊文本框中的輸入發送表單。我試試這個:通過單擊文本框中的輸入發送表單

$('.chatMessage').on('keyup', function(e) { 
if (e.which == 13 && ! e.shiftKey) { 
    $.ajax({ 
    url: "/index.php", 
    type: "post", 
    data: $('form').serialize() 
    }); 
    } 
}); 

當我點擊'輸入',它會'如果',但形式不發送。

HTML:

<form id="form" method="POST" action="/index.php"> 
        <textarea class="chatMessage" name="text" placeholder="Имя клиента"></textarea> 
        <br> 
        <input class="button" type="submit" name="enter" value="Отправить"> 
        </form> 
+1

我沒有看到ajax中的成功或錯誤函數?你怎麼知道表單不是「提交」。你是否從網絡標籤檢查? – brk

+0

@ user2181397,它不會發送信息到$ _POST數組 – Catalina

+1

嘗試使用瀏覽器的開發工具來查看請求是否被髮送,並且響應狀態 – iownthegame

回答

1

感謝所有:)我發現一個問題。這是我的代碼的另一部分。一般來說,這適用於我:

$('.chatMessage').on('keyup', function(event) { 
    if (event.which == 13 && ! event.shiftKey) { 
     $(this).closest('form').submit(); 
} 
+0

如果提交按鈕類型,並且按下輸入按鈕,默認情況下會彈出最接近的提交按鈕,問題在於您同時使用ajax和提交表單提交 – brk

+0

在一個文本區域中,按回車將創建一個新行。 –

+0

@GustavoAlves我已經刪除了帶有輸入文本的textarea – Catalina

相關問題