2016-10-25 14 views
0

inputの値が空の場合、submitボタンをクリックすると、JS関数はfalseを返します。しかし、inputが空白スペース" "の場合は、まだfalseを返していますが、入力値が空の場合はエラーメッセージinput text border colorが表示されません。""入力値が空白の場合はエラーメッセージが表示されません

HTML

<form> 
    <input id="textbox" type="text" required/> 
    <input type="submit" id="btnSubmit" value="Save" /> 
</form> 

はJavaScript

var input = document.getElementById("textbox").value.trim(); 

if (input.length == 0) { 

    return false; 
} 
+1

、どのようにしますあなたはjavascripをトリガするt?色などを変更するコードはどこですか? – Liam

+0

@JonasGrumannそれは意味がありません。すでにトリムされていて、いずれの場合でも番号(入力文字列の長さ)にreplace()を実行しています! – moopet

+1

実行可能なスニペットを含める場合は、実行前に実行して動作することを確認してください。 –

答えて

1

あなたは「パターン」属性を使用し、少なくとも一つの文字の正規表現式を指定する必要があります。

てみ

<input id="textbox" type="text" pattern="^\d*[a-zA-Z][a-zA-Z0-9]*$" required/> 

上記のパターン

  • ゼロ以上のASCII数字
  • つのアルファベットASCII文字
  • ゼロ個以上の英数字のASCII文字
1

あなたが実際に検証を行っていません。最初の検証は、HTML5 required属性を使用しているときに行われます。実際にJSコードを使用しないでください。私は、これはあなたが達成しようとしているものだと思う:

function checkInput(){ 
 
    var input = document.getElementById("textbox").value; 
 
    if (input === '') { 
 
     document.getElementById('error_message').style.display = 'block'; 
 
     document.getElementById('textbox').style.borderColor = '#F00'; 
 
     return false; 
 
    }else{ 
 
     document.getElementById('error_message').style.display = 'none'; 
 
     document.getElementById('textbox').style.borderColor = '#000'; 
 
    } 
 
}
#error_message{ 
 
    display: none; 
 
}
<form method='post'> 
 
    <input id="textbox" type="text"/> 
 
    <input type="submit" id="btnSubmit" value="Save" onclick='checkInput();'/> 
 
    <p id='error_message'> 
 
    error message 
 
    </p> 
 
</form>

関連する問題