如何制作伪类:无效申请提交表格后的输入

Jak*_*jło 5 html javascript css forms validation

我创建了一个表单并决定使用HTML5和一些JS来验证它,而不需要任何额外的插件.所以我所需的所有输入都有required属性.

这是让它们看起来很漂亮的CSS

input:invalid {
    border: 2px solid #c15f5f
}
Run Code Online (Sandbox Code Playgroud)

它将invalid输入的边界设置为红色,即使它们尚未被触及.

input:invalid点击提交按钮后如何申请,以及错误信息?

Tho*_*ann 9

单击提交按钮时,可以向表单添加一个类,并调整CSS选择器,使其仅匹配提交表单中的输入字段:

document.getElementById("submitButton").addEventListener("click", function(){
	document.getElementById("testForm").className="submitted";
});
Run Code Online (Sandbox Code Playgroud)
form.submitted input:invalid{
  border:1px solid red;
}
Run Code Online (Sandbox Code Playgroud)
<form id="testForm">
<input type="text" required>
<input type="submit" value="submit" id="submitButton">
</form>
Run Code Online (Sandbox Code Playgroud)

  • 最好在表单上添加一个“提交”事件侦听器,而不是在按钮上添加单击侦听器,这样,如果通过在输入中按回车键(或任何其他方式)来提交表单,那么这仍然有效。您也不必执行第二个选择器:`document.getElementById("testForm").addEventListener("submit", function(){ this.className="subscribed"; })` (2认同)
  • @idlefingers,除了OP使用HTML5表单验证,它不会触发提交事件。 (2认同)