次の条件でテキストボックスの値を検証しています
3文字以上である必要があります
アルファベットのみを含める必要があります
少なくとも1つの母音が含まれている必要があります
すべての条件が一致した場合、送信ボタンを有効にします。上記のケースのいずれかが一致しない場合は、エラーメッセージをdivという名前のエラーに設定しています。
これが私のコードです
$document.ready(function(){
$('.tbox').focus(); // cursor in text box
$(':submit').attr("disabled",true); // disable generate button
$('.tbox').focus(fucntion(){
check_the_input()
});
});
function check_the_input()
{
var value = $(this).val();
$('.tbox').bind('keyup blur',function(){
$(this).val( $(this).val().replace(/[^a-z]/g,'') ); }
if(value.length > 3)
{
if(value.indexOf('a') == -1 && value.indexOf('e') == -1 && value.indexOf('i') == -1 && value.indexOf('o') == -1 && value.indexOf('u') == -1)
{
$('#error').text("*Input must contain atleast one vowel");
$(':submit').attr("disabled",true);
}
else
{
$(':submit').attr("disabled",false);
}
}
else
{
$('#error').text("*Input should be atleast 3 characters")
$(':submit').attr("disabled",true);
}
setTimeout(check_the_input,100);
}
私はここで次の問題に直面しています:
inputをaa99と入力すると、入力はaaに変わりますが、生成されたボタンは有効になります。
テキストを入力したときにエラーが発生しません。タブを押すか、テキストボックスの外側でマウスをクリックした後でのみ、エラーが発生します。