【发布时间】:2022-01-24 02:21:30
【问题描述】:
如何让我的输入表单中的必填字段在页面加载且它们为空时具有红色边框,以及当它们内部有数据时如何将它们设置回正常样式?
我有这个代码:
页面:
<form method="post" action="xxx.php" enctype="multipart/form-data" value="multipart/form-data" onload="borderColour()">
<div>
<label for="firstName">First Name:</label><br>
<input type="text" name="firstName" id="firstName" placeholder="First name …">
</div>
<div>
<label for="lastName">Last Name:</label><br>
<input type="text" name="lastName" id="lastName" placeholder="Last name …">
</div>
</form>
Javascript:
// Border colour for input web forms
function borderColour() {
var firstName = document.getElementById('firstName').value;
var lastName = document.getElementById('lastName').value;
var firstNameId = document.getElementById('firstName');
var lastNameId = document.getElementById('lastName');
if (firstName == '') {
firstNameId.addClass("form-required");
} else {
firstNameId.removeClass("form-required");
}
if (lastName == '') {
lastNameId.addClass("form-required");
} else {
lastNameId.removeClass("form-required");
}
}
CSS:
.form-required {border: 2px solid red !important;}
【问题讨论】:
-
onload 在组件加载后立即运行,不应该在用户提交表单的时候运行这个函数吗?
-
否,因为在填写表单时结果需要是动态的 - 当字段有值时,边框会从红色变为灰色。这是在提交表单之前很久。
标签: javascript html css forms styles