gpt4 book ai didi

javascript - 警报后如何停止在表单中返回 "blank"?

转载 作者:行者123 更新时间:2023-12-01 01:16:04 28 4
gpt4 key购买 nike

如果表单中有空白,则会弹出警报。Javascript 中的错误检查正在工作,
但关闭警报后,表单中的文本将为空白。

我希望我填写的文本在警报关闭后仍保留。
因为我想填补警报后唯一的空白。

你能让我知道如何在警报后保留该值吗?

function check_form() {
let name = document.form1.name.value;
let mail = document.form1.mail.value;
let subject = document.form1.subject.value;
let message = document.form1.message.value;

let error_message = '';

if (name == '') {
error_message += 'Name is blank\n';
}
if (mail == '') {
error_message += 'Mail is blank\n';
}
if (subject == '') {
error_message += 'Subject is blank\n';
}
if (message == '') {
error_message += 'Message is blank\n';
}

if (error_message != '') {
alert(error_message);
return false;
} else {
return true;
}
}
<form method="post" name="form1" onsubmit="check_form()">
<label for="name">Name</label>
<input type="text" id="name" name="name">

<label for="mail">Mail</label>
<input type="text" id="mail" name="mail">

<label for="subject">Subject</label>
<input type="text" id="subject" name="subject">

<label for="message">Message</label>
<textarea id="message" name="message"></textarea>

<input type="submit" value="Send message" id="submit-btn">
</form>

最佳答案

问题是您的表单在弹出警报时提交,return false 不足以阻止表单提交。您应该使用 preventDefault 以便在错误情况下停止提交

function check_form(e) {
let name = document.form1.name.value;
let mail = document.form1.mail.value;
let subject = document.form1.subject.value;
let message = document.form1.message.value;

let error_message = '';

if (name == '') {
error_message += 'Name is blank\n';
}
if (mail == '') {
error_message += 'Mail is blank\n';
}
if (subject == '') {
error_message += 'Subject is blank\n';
}
if (message == '') {
error_message += 'Message is blank\n';
}

if (error_message != '') {
alert(error_message);
e.preventDefault();
return false;
} else {
return true;
}
}
<form method="post" name="form1" onsubmit="check_form(event)">
<label for="name">Name</label>
<input type="text" id="name" name="name">

<label for="mail">Mail</label>
<input type="text" id="mail" name="mail">

<label for="subject">Subject</label>
<input type="text" id="subject" name="subject">

<label for="message">Message</label>
<textarea id="message" name="message"></textarea>

<input type="submit" value="Send message" id="submit-btn">
</form>

关于javascript - 警报后如何停止在表单中返回 "blank"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54749743/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com