![](/img/trans.png)
[英]Pressing enter on a text input in javascript/HTML (bootstrap)
[英]PHP - HTML - Javascript - Submit text from textarea by pressing enter button
我正在使用html-php-javascript進行簡單的聊天。 我想將文本從textarea提交到日志文件,因為“chatbox”將從那里加載聊天。
我編寫了代碼以在textarea中的“admin_post.php”提交文本並且它有效。
但是,管理員只能通過按“發送”按鈕來執行此操作。 當管理員在鍵盤上按“輸入”時,是否可以制作javascript,它會像在表單中按“發送”按鈕一樣嗎?
這是admin_post.php中的html代碼:
<form id="admintextform" name="message" action="">
<?php $adminmsg = !empty($_POST['adminmsg']) ? $_SESSION['adminmsg'] : '';?>
<textarea class="admintextarea" name="adminmsg" id="adminmsg" size="63" /><?php echo $adminmsg; ?></textarea>
<input name="adminsubmitmsg" type="submit" id="adminsubmitmsg" value="Send" />
</form>
並為“發送”按鈕腳本:
<script type="text/javascript">
//If user submits the form
$("#adminsubmitmsg").click(function(){
var adminmsg = $("#adminmsg").val();
$.post("admin_post.php", {text: adminmsg});
$("#adminmsg").attr("value", "");
return false;
});
</script>
我已經嘗試過以下腳本來解決我的問題,但它不起作用。 我希望下面的javascript可以通過按鍵盤上的enter按鈕完全相同於上面的“發送”按鈕腳本。
<script type="text/javascript">
$("#admintextarea").keypress(function (e) {
if(e.which == 13 && !e.shiftKey) {
var adminmsg = $("#adminmsg").val();
$.post("admin_post.php", {text: adminmsg});
$("#adminmsg").attr("value", "");
return false;
}
});
</script>
請幫助我,謝謝你的時間。 :)
首先,您的HTML存在問題。 你在開幕時關閉了textarea
標簽。
對於解決方案,我希望您覺得這個JSFiddle很有幫助。 這是代碼:
$("#adminmsg").on('keypress', function(e){
if (e.which == 13)
{
e.preventDefault();
console.log($(this).val());
$(this).val("");
}
});
關鍵點:
#
對應於ID , .
對應於班級。 on
代替在頁面上隨時對相應的選擇器進行綁定; 或者使用把你的代碼放在$(document).ready(function(){ /* your code */ });
在頁面完全加載並准備好后執行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.