現在、プロジェクトには、ユーザー名入力に3文字以上、パスワード入力に6文字以上入力したかどうかを確認するログインフォームが含まれています。変数(ブール値)が変更されたときにのみjavascript/jquery関数を呼び出す
ユーザ名に3文字以上の文字が含まれていると、変数がtrue(デフォルトはfalse)に設定されます。パスワードは同じです。両方が真であるときだけ、ログインボタンが利用可能になるはずです。それを無効にするかどうかは問題ではない、私は色を変更したい。両方が偽であるか、またはいずれかが真であれば、それは黒色のrgba値を取得し、両方が真であれば緑色のrgba色を取得します。
コードは、変更するたびに入力フィールドをチェックします。このため、cssを複数回変更する機能を実行します。これはcssをスパムし、コードの目的が失敗するようにします。
私のアイデアがありません(エネルギーは2:08 AMです)。私の問題の解決策があるかどうかを知りたいだけでした。
私のコードは下にあります。
var sheet = document.styleSheets[0];
var un = document.getElementById('un');
var pw = document.getElementById('pw');
var unCheck = false;
var pwCheck = false;
var bCheck = false;
$('#un').bind('input', function() {
una = un.value;
if (/^\s*$/.test(una)){
//input is empty or contains white space
}
else{
//input contains character
if(una.length >= 3)
{
//input contains 3 characters or more
unCheck = true;
}
else
{
unCheck = false;
}
checkUnPw();
}
})
$('#pw').bind('input', function() {
pwo = pw.value;
if (/^\s*$/.test(pwo)){
//input is empty or contains white space
}
else{
//input contains character
if(pwo.length >= 6)
{
//input contains 6 characters or more
pwCheck = true;
}
else
{
pwCheck = false;
}
checkUnPw();
}
})
function checkUnPw() {
if(unCheck == true && pwCheck == true)
{
sheet.insertRule(".box button { background: rgba(46,204,113,1)!important; }", 1);
document.getElementById("loginButton").disabled = false;
}
else
{
sheet.insertRule(".box button { background: rgba(0,0,0,0.05)!important; }", 1);
document.getElementById("loginButton").disabled = true;
}
}
「重要」を削除してみましたか? –
はい、違いはありませんでした。 – TheMagnificentIdiot
.boxボタンのためにCSSのどこでも!importantを使用しましたか? –