javascript - 可以覆盖验证错误对话框中的文本吗?
问题描述
我有一个用 HTML 构建的表单,为了让事情简单明了,我有以下内容(以及 3 个其他类似<input>
的单选按钮,包装在一个<form>
标签中:
<input id="Q1_r1" name="Question_1" required="" type="radio" value="Very Bad"><label class="radio" for="Q1_r1"><span style="padding-left:30px; font-size:13px;">
因此,当您尝试在不选择单选选项的情况下提交此表单时,我们会收到验证错误:
完全预期 - 所以我的问题是,有没有办法将警报框中的“cloud.chfsmail.ky.gov”覆盖为更用户友好的东西?
解决方案
为了后代的缘故,这里有一个简单的例子,说明如何创建自定义警报弹出窗口来传达某事。给用户(在这种情况下,在填写所有字段之前,表单不会提交)。
关键思想是为您的消息提供一个专用容器,当您想说某事时,您会改变谁的可见性。不要忘记再次隐藏它!
const form = document.querySelector('form');
const overlay = document.getElementById('overlay');
form.onsubmit = (event) => {
event.preventDefault();
if ([...form.querySelectorAll('input')].some(i => !i.value)) {
overlay.textContent = 'All fields need filling out';
overlay.classList.add('active');
setTimeout(() => overlay.classList.remove('active'), 3000);
}
};
#overlay {
position: absolute;
top: 50vh;
right: 50vw;
background: lightgrey;
padding: 8px 12px;
display: none;
}
#overlay.active {
display: block;
}
<form>
<label>
<input name="foo">
<span>Foo</span>
</label>
<label>
<input name="bar">
<span>Bar</span>
</label>
<label>
<input name="baz">
<span>Baz</span>
</label>
<button>Submit</button>
</form>
<div id="overlay"></div>
推荐阅读
- r - R子集特定值也返回NA?
- javascript - webgl 试图画一个三角形
- c# - 没有角色的自定义用户权限 c#
- node.js - 如何使用nodejs将数据数组转换为合并的html表
- c++ - GCC、CMake、预编译头文件和维护依赖项
- c# - 无法打开运行 exe 生成的输出文件
- r - tagAssert(body, type = "div", class = "content-wrapper") 中的错误:缺少参数“body”,没有默认值
- c - [C]:使用 strcpy() 到字符串数组的分段错误
- angular - 当用户点击它时,用其中的新元素展开 li
- php - 日本货币格式以提高可读性