2016-12-20 7 views
0

私は質問を繰り返さないことを望んでいますが、私は検索して助けを見つけることができませんでしたので、私は直接質問するべきだと思ったので、まだ初心者です。私のクラスはできるだけ徹底してください。イベントメソッド内でJS関数を呼び出す

私はフォームを作成しようとしています。ユーザーが別のフィールドをクリックすると、彼が最初の入力に入れた入力が、 EnterまたはSubmitボタンをクリックします。

これはHTMLファイルです。

<html> 
<head> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> 
<script src="test.js"></script> 
<script> 

$(document).ready(function(){ 
    $("div.ID").focusin(function(){ 
     $(this).css("background-color", "#FFFFCC"); 
    }); 
    $("div.ID").focusout(function(){ 
     $(this).css("background-color", "#FFFFFF"); 
     userid_validation(userid,5,12); 

    }); 
}); 
</script> 
</head> 
<body> 

<div class="ID" > 
    User ID: <input type="text" name="userid" size="12" /> 
</div> 

<div class="pass"> 
Password: <input type="text" name="psw" size="12" /> 
</div> 

</body> 
</html> 

が、これは、私はおそらく完全に間違って何かをやっているJSファイル

function userid_validation(userid,mx,my) 
{ 
var uid_len = userid.value.length; 

if (uid_len == 0 || uid_len >= my || uid_len < mx) 
{ 

alert("User Id should not be empty/length be between "+mx+" to "+my); 

//uid.focus(); 
return false; 
} 

return true; 
} 

ですが、私は何を知りません。前もって感謝します !

+0

? –

+0

Useridが未定義です... –

+0

問題は、関数には行かないということです。ユーザがユーザIDフィールドに間違った数の文字を入力した場合、メッセージポップを作ろうとしています。 – user3158009

答えて

1

focusinfoucsoutを入力要素に適用する必要があります。現在、divに適用しています。また、あなたは、次の関数を呼び出すことで、コードのエラーを持っている

userid_validation(userid, 5, 12); // userid not defined. 

これが動作するかどうか確認してください。まさにそのコードに問題は何

function userid_validation(userid, min, max) { 
 
    var uid_len = userid.length; 
 

 
    if (uid_len == 0 || uid_len > max || uid_len < min) { 
 

 
    alert("User Id should not be empty/length be between " + min+ " to " + max); 
 

 
    //uid.focus(); 
 
    return false; 
 
    } 
 

 
    return true; 
 
}
<html> 
 

 
<head> 
 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
    <script src="test.js"></script> 
 
    <script> 
 
    $(document).ready(function() { 
 
     $("div.ID").find('input').focusin(function() { 
 
     $(this).css("background-color", "#FFFFCC"); 
 
     }); 
 
     $("div.ID").find('input').focusout(function() { 
 
     $(this).css("background-color", "#FFFFFF"); 
 
     userid_validation($(this).val(), 5, 12); 
 

 
     }); 
 
    }); 
 
    </script> 
 
</head> 
 

 
<body> 
 

 
    <div class="ID"> 
 
    User ID: 
 
    <input type="text" name="userid" size="12" /> 
 
    </div> 
 

 
    <div class="pass"> 
 
    Password: 
 
    <input type="text" name="psw" size="12" /> 
 
    </div> 
 

 
</body> 
 

 
</html>

+0

テキスト入力が5と12の間であるかどうかを確認しません。メッセージが表示されません。 – user3158009

+0

@ user3158009チェックしてください。あなたのコードでは.lengthを使用していたので、実際の値はチェックされません。私はあなたの実際の内容をチェックするように長さを削除しました。 – ScanQR

+0

いいえ、まだ悲しいことはありません。 – user3158009

関連する問題