2017-02-09 1 views
2

入力が間違っている場合は、赤で強調表示します。私は以下を試しました:要素の配列を正しく渡す

+5

それは// relevant'ない何かが、あなたが思っているより多くの関連性があるかもしれない 'のように私に聞こえます。 [mcve]を投稿してください。 – CollinD

+0

何が間違っていると思いますか?エラーが発生しましたか、予期しない結果が出ましたか? – 4castle

+0

私の前のコードを修正しました@CollinD – 4reffdsfsffewf

答えて

1

フォーム名と入力名またはIDとdocument.getElementByIdのどちらかを使って入力ファイルにアクセスするシステムを1つだけ使用することをお勧めします。

次に、同じ値を持つ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>

関連する問題