2015-03-25 89 views
0

我想与聊天室一起工作,有些用户希望某个功能在输入时提交。jQuery - 不输入数据输入

我现在有这样的代码:

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时[“发送消息区域”]它不会在所有的工作。

+0

为什么你不能做这样的'$( “形式”)提交();' – 2015-03-25 07:54:54

+0

你确定你只有一个'form'元素吗? – haim770 2015-03-25 07:55:59

+0

我试过$(“form”)。submit();但是它完全一样。 Haim777,是的,我只有1个表单元素 – 2015-03-25 07:56:39

回答

2

你的按钮值将不会被提交。因此,无论你触发其click事件

$(document).ready(function(){ 

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

}); 

或只检查textarea的价值isset或不PHP

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

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

    sendMsg($fromID, $fromMsg); 
}; 
0

您需要检查textarea的名称不是按钮,直到你点击它

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