如果输入错误,我希望它以红色突出显示。我尝试了以下方法:
最佳答案
我建议只使用一个系统来访问输入字段,通过表单名称和输入名称或使用 ID 和 document.getElementById
.
然后我建议使用id
和 name
<input type="text">
的属性具有相同的值。
为了检查内容和更改样式,我采用元素并使用带有 id
的数组.
function check() {
var regex = new RegExp(/[~`!#$%\^&*+=\-\[\]\\';,/{}|\\":<>\?()]/),
ltr = /[a-zA-Z ]+/,
inputs = ['nem', 'nef', 'rem', 'ref', 'ea', 'ver', 'kavm', 'kavf'],
i,
fehlerB = false,
element;
for (i = 0; i < inputs.length; i++) {
element = document.getElementById(inputs[i]);
if (ltr.test(element.value) && !regex.test(element.value)) {
element.style.border = '2px solid red'; // i suggest to use 2px, because
fehlerB = true; // it renders better on displays
} // with sub pixel
}
return !fehlerB;
}
<form name="inputform" id="inputform" onsubmit="return check()" action="">
<input id="nem" name="nem">
<input id="nef" name="nef">
<input id="rem" name="rem">
<input id="ref" name="ref">
<input id="ea" name="ea">
<input id="ver" name="ver">
<input id="kavm" name="kavm">
<input id="kavf" name="kavf">
<input type="submit" onclick="return check()" />
</form>
关于javascript - 正确传递元素数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42130705/