我正在使用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>
和#34;发送&#34;按钮脚本:
<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可以与&#34; send&#34;完全相同。按下键盘上的输入按钮,上面的按钮脚本。
<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>
请帮助我,谢谢你的时间。 :)
答案 0 :(得分:0)
首先,您的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 */ });
内,以便在页面完全加载并准备就绪后执行。