2016-12-31 6 views
1

HTML5を使用して書式を検証しています。無効または焦点を当てる:入力要素が必要な場合は、私が判断することができますどのように、今入力へのアクセス方法:必須:jQueryを使用していませんか?

input:required:invalid, input:focus:invalid { 
    color: red; 
} 

:私の入力フィールドが必要で、かつ無効であるのであれば、私は次のコードを使用していることを反映するために、CSSスタイルを変更することができます。 jQueryを使用して無効ですか?このような

何か:

if ($('#myInput') has the attribute invalid) { Do something } 

明らかに、if文の条件が条件である必要があります。私はこれをどのように把握できますか?ありがとう!

+1

'( '無効')$( '#のmyInput')がある()場合にはjQueryのセレクタがありませんか? –

+0

@NiettheDarkAbsolは便利だが有効なjQueryセレクタではない – charlietfl

+0

@charlietflこれは有効なCSSセレクタであり、jQueryはCSSをラップするはずだから、ちょっとばかげている...しかしif($( '#myInput:invalid') .length) 'は' querySelectorAll'を通してそれを渡すので動作します。 '.length'が非ゼロの場合、入力は無効です。 –

答えて

1

フィルタ内にネイティブcheckValidity()を使用することができます。 `:invalid

var invalidInputs = $('#myForm :input').filter(function() { 
 
    return !this.checkValidity(); 
 
}).each(function() { 
 
    console.log(this.name, ' error message is ', this.validationMessage) 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<form id="myForm"> 
 
    <input name="noValidation"> 
 
    <input name="required_w_value" value="test" required> 
 
    <input name="required_no_value" required> 
 
</form>

関連する問題