0

次のことについて質問があります。

とのdivがありdisplay:noneます。この div は、ユーザーが (jQuery の show() メソッドを使用して) 入力フィールドにテキストを入力すると表示されます。すべて正常に動作しますが、入力フィールドに入力されたテキストを削除すると、DIV が再び消えてしまいます。私の試み:

function入力が空の場合は jQuery関数で別のものを使用hide()しますが、show() を使用する関数がトリガーされないようにします (入力はデフォルトで明らかに空であるため)。

どんなアイデアでも大歓迎です!

これが私のスクリプトです:

function password1Security()

{
var pwd1 = document.getElementById("password1");
var strongRegex = new RegExp("^(?=.{8,})(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*\\W).*$", "g");
var mediumRegex = new RegExp("^(?=.{7,})(((?=.*[A-Z])(?=.*[a-z]))|((?=.*[A-Z])(?=.*[0-9]))|((?=.*[a-z])(?=.*[0-9]))).*$", "g");
var pwdsft = document.getElementById("passwordSafetyLevel1");

{
if (strongRegex.test(pwd1.value)){pwdsft.innerHTML = '<span style="color:green;">Safe</span>'} else if (mediumRegex.test(pwd1.value)) 

{pwdsft.innerHTML = '<span style="color:orange;">Quite Safe</span>'} else {pwdsft.innerHTML = '<span style="color:red;">Unsafe</span>'};
}
};

function passSafetyAppear1()

{$("#passwordSafety1").show()};

function showPassSafety1()

{
password1Security();
passSafetyAppear1();
};

</script>

<input name="password1" id="password1" type="password" size="15" maxlength="20" style="width:500px; height:30px;" 

onKeyUp="showPassSafety1()"/>
<br/>

<span name="passwordSafety1" id="passwordSafety1" style="font-size:12pt; display:none;">Your password is <b 

name="passwordSafetyLevel1" id="passwordSafetyLevel1"></b>.</span><br/>

前もって感謝します、

ピエール

4

3 に答える 3

1

ぼかしに対してその操作を行います (入力がフォーカスを失ったとき)。これを実現するには、適切なセレクターで次のようなコードを使用します。

$('input-selector').blur(function(){
    if(!$(this).val())
        $('div-selector').hide();
});
于 2012-05-30T16:47:32.863 に答える
0

これらの行に沿って何かを行うことができます: jsFiddle example

$('input').keyup(function() {
    if ($(this).val().length > 0) $('div').show();
    else $('div').hide();
});​
于 2012-05-30T16:48:59.960 に答える
0
$('input-selector').keyup(function(){
        if ($(this).val().length > 0)
           $('div-selector').show();
        else
           $('div-selector').hide();
});

試してみてください...

于 2012-05-30T16:50:04.617 に答える