首页 > 解决方案 > 如何使用 javascript 推送评论?

问题描述

我有一些代码如下,我的 web 上的评论框的表单验证,我已经将它链接到验证 javascript,当他们输入错误的电子邮件结构或输入超过 140 个字符的评论框时,代码会通知他们,并且没有t 插入类似于正则表达式的名称,我想在内部制作另一个 javascript 来推送评论,因此在用户编写评论后它将显示在页面上,如下所示。但是我遇到了一个小问题,它无法显示我的评论。如果您阅读此问题,请告诉我我在哪里做错了。太感谢了

<script>
                    var comment = [];

                    var name= document.getElementById("nama");

                    var email= document.getElementById("email");

                    var message= document.getElementById("komen");

                    var messageBox = document.getElementById("display");

                    function insert(){
                        comment.push("Nama :" + name.value);
                        comment.push("Email : " + email.value);

                        comment.push("Message : " + message.value);

                        clearAndShow();

                    }
                     function clearAndShow (){

                        name.value = "";

                        email.value = "";

                        message.value = "";

                        messageBox.innerHTML = "";

                        messageBox.innerHTML += " " + comment.join("<br/> ") + "<br/>";

                     }</script>

                <section>
                    <form name="RegForm" action="" onsubmit="return validation()" method="post">  

                        Nama Anda :</br><input type=text name="Name" id="nama" size="35" placeholder="Nama"><br /><br> 
                        Email :</br><input type=text name="EMail" id="email" size="35" placeholder="E-mail"><br /><br> 
                        Komentar :</br><textarea rows="12" name="Comment" id="komen" cols="100" wrap="virtual" placeholder="Pesan"></textarea><br/><br>

                            <input type="submit" onclick="insert()" value="send" />
                            <input type="reset" value="Reset" name="Reset">
                    </form><br />

标签: javascripthtml

解决方案


你想念你的#display. 添加应该没问题:

let comment = [];
let name = document.getElementById("nama");
let email = document.getElementById("email");
let message = document.getElementById("komen");
let messageBox = document.getElementById("display");

insert = () => {
  // You can push these all at once
  comment.push(
    `Nama :${name.value}`,
    `Email : ${email.value}`,
    `Message : ${message.value}`);
  clearAndShow();
}

clearAndShow = () => {
  name.value = "";
  email.value = "";
  message.value = "";
  messageBox.innerHTML = "";
  messageBox.innerHTML += " " + comment.join("<br/>") + "<br/>";
}
// remove this
document.querySelector('form[name=RegForm]').onsubmit = e => {
  e.preventDefault();
}
<section>
  <form name="RegForm" action="" method="post">
    Nama Anda :</br>
    <input type=text name="Name" id="nama" size="35" placeholder="Nama">
    <br /><br> Email :</br>
    <input type=text name="EMail" id="email" size="35" placeholder="E-mail">
    <br /><br> Komentar :</br>
    <textarea rows="12" name="Comment" id="komen" cols="100" wrap="virtual" placeholder="Pesan"></textarea><br/><br>
    <input type="submit" onclick="insert()" value="send" />
    <input type="reset" value="Reset" name="Reset">
  </form>
</section>
<div id='display'></div>


推荐阅读