jQuery - 不在enter上提交数据

时间:2015-03-25 07:53:24

标签: javascript jquery html

我正在尝试使用聊天室,有些用户希望在输入时提交功能。

我目前有这段代码:

表格html:

<form id="send-message-area" name="send-message-area" method="post" action="">
    <textarea id="sendie" name="sendie" maxlength = '255'></textarea>
    <input type="submit" name="sendieButton" id="sendieButton" value="Send" />
</form>

jQuery的:

$(document).ready(function(){ 

$("textarea").keyup(function(event){
    if(event.keyCode == 13){
        //$("form").submit();
        $("form").trigger("submit");
    }
});

});

然而,当击中它确实提交时,它不会发送任何数据。 按下提交按钮时,它可以正常工作。

我已经尝试了$("form").submit();,但它完全相同。

编辑:

我认为这个问题存在于我的PHP中。

if(isset($_POST['sendieButton'])){

    $fromID = $brugernavn;
    $fromMsg = $_POST['sendie'];

    sendMsg($fromID, $fromMsg);

};

但是,当更改为检查$ _POST [&#39; send-message-area&#39;]时,它根本不起作用。

2 个答案:

答案 0 :(得分:2)

点击它之前,您的按钮值不会被提交。因此要么触发其点击事件

$(document).ready(function(){ 

    $("textarea").keyup(function(event){
        if(event.keyCode == 13){
            //$("form").submit();
            $("#sendieButton").trigger("click");
        }
    });

});

或仅在PHP中检查textarea值是否设置

if(isset($_POST['sendie'])){

    $fromID = $brugernavn;
    $fromMsg = $_POST['sendie'];

    sendMsg($fromID, $fromMsg);
};

答案 1 :(得分:0)

您需要检查textarea的名称而不是按钮

if (isset($_POST["sendie"])) {
    $fromMsg = $_POST['sendie'];   
}else{  
    echo "no sendie";
}