2017-02-09 59 views
2

如果有什么是输入错误,我希望它突出红色。我试过如下:传递元素的数组正确

+5

这听起来好像'//东西不relevant'可能比你想象的更重要。请发布[mcve]。 – CollinD

+0

是什么让你觉得有什么不对?你有没有遇到任何错误或意想不到的输出? – 4castle

+0

我纠正了我以前的代码@CollinD – 4reffdsfsffewf

回答

1

我建议只使用一个系统访问输入的Fileds,无论是通过表单名并输入姓名或ID和document.getElementById

然后我建议使用idname属性<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>