【发布时间】:2023-03-26 19:24:01
【问题描述】:
我设计了一个表单来发送带有提交按钮的消息,但是对于每条消息,我必须使用光标单击提交。如何通过按键盘的“Enter”键来发送消息。这是我的代码
<div class="message_post" id="myForm">
<form action="" method="POST">
<?php
if($user_to == "new") {
echo "Send a message to your friend <br><br>"; ?>
To: <input type='text' onkeyup='getUsers(this.value, "<?php echo $userLoggedIn; ?>")' name='q' placeholder='Search Username' autocomplete='off' id='search_text_input'>
<?php
echo "<div class='results'</div>";
}
else { // MESSAGE BOX
if($userLoggedIn == $user_to)
echo "<p style='margin-left:275px;'>You can't send message to yourself</p>";
else {
echo "<textarea name='message_body' id='message_textarea' placeholder='Send a message'></textarea>";
echo "<input type='submit' name='post_message' class='info' id='message_submit' value='Send'>";
}
}
?>
</form>
</div>
<script> // Javascript to automatically scrolling down to recent message
var div = document.getElementById("scroll_messages");
if(div != null) {
div.scrollTop = div.scrollHeight;
}
</script>
【问题讨论】:
-
PHP 与客户端交互无关。
-
这是所有相关代码吗?如果你在
form中有一个<input type="submit">,你这样做了,然后在表单中按回车键将提交它。 codepen.io/anon/pen/LLbxyd -
您使用的是
<textarea>,这是一种特殊情况。如果您希望在用户按 Enter 时提交表单,您将如何让他们输入多行消息?如果您不希望他们这样做,请将<textarea>更改为input type="text",您将自动获得输入时提交行为。 -
谢谢老哥,成功了。但是,当我重新加载我的页面时发送消息后,如果我按继续,消息会再次重复,弹出要求重新提交的弹出窗口。因此,对于每次重新加载,我的最后一条消息都会重复。所以我添加了'标题(“位置:messages.php”);'在 isset 功能下,但没有奏效。
标签: javascript jquery html