#javascript #html
#javascript #HTML
Вопрос:
У меня есть некоторый код, как показано ниже, проверка формы для поля комментариев на моем веб-сайте, я уже связал его с проверкой javascript, где код уведомляет их, когда они вводят неправильную структуру электронной почты или вводят поле для комментариев более 140 символов, и не вставляли имя, которое было похоже на регулярное выражение, и я быхотелось бы сделать другой 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 />
Комментарии:
1. У вас нет
#display
элемента, поэтомуmessageBox.innerHTML =
будет выдана ошибка.2. Я думаю, вы хотите использовать at
FormData
, а не получать каждое поле по идентификатору.
Ответ №1:
Вам не хватает вашего #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>