0

誰かが私が間違っていることを指摘できれば、私は永遠に感謝します! 括弧の正しい組み合わせを取得できないようです - 1 つのステートメントで複数の条件を組み合わせるにはどうすればよいですか?? 明らかに、誰かが以下のコードを変更することは期待していません。私が達成しようとしていることを示したいだけです。

誰かが私にロジックを説明できれば、それは素晴らしいことです

ありがとう

function ChangeButton()
{
if 
((document.forms[0].IPR.value == "") && (document.forms[0].FNM1.value == "") && (document.forms[0].FNM1.value == "") && (document.forms[0].SURN.value == "") && (document.forms[0].GEND.value == "") && (document.forms[0].DOB.value == "") && (document.forms[0].CRIM.value == "") && (document.forms[0].ETHC.value == "") && (document.forms[0].DSBC.value == "") && (document.forms[0].MARK1.value == "") && (document.forms[0].NATC.value == "") && (document.forms[0].COBC.value == "") && (document.forms[0].COD.value == "") && (document.forms[0].FIVE.value == "") && (document.forms[0].PERM.value == "") && (document.forms[0].VISF.value == "") && (document.forms[0].USD.value == "") && (document.forms[0].HAD1.value == "") && (document.forms[0].HAD3.value == "") && (document.forms[0].HTEL.value == "") && (document.forms[0].HAEM.value == "") && (document.forms[0].FEES.value == "") && (document.forms[0].REF1TIT.value == "") && (document.forms[0].REF1ORG.value == "")     && (document.forms[0].REF1POS.value == "") && (document.forms[0].REF1AL1.value == "") && (document.forms[0].REF1AL3.value == "") && (document.forms[0].REF1AL5.value == "") && (document.forms[0].REF1EMA.value == "") && (document.forms[0].DISC.value == ""))
&&
((document.forms[0].PERM.value == "") && (document.forms[0].FIVE.value == "N")) 
&&
((document.forms[0].AGNT.value == "") && (document.forms[0].USD.value == "Y")) 
&&
((document.forms[0].CSTRT.value == "") && (document.forms[0].USD.value == "N") && (document.forms[0].CENDD.value == "") && (document.forms[0].CAD1.value == "") && (document.forms[0].CAD3.value == "") && (document.forms[0].CAD4.value == "") && (document.forms[0].CAPC.value == "") && (document.forms[0].CTEL.value == ""))
&&
((document.forms[0].AWDB.value == "") && (document.forms[0].FEES.value == "") && (document.forms[0].FEES.value == "Private Funds Self or Family") && (document.forms[0].AWDS.value == ""))
&&
((document.forms[0].RESEARCH.value == "Y") && (document.forms[0].RESSRT.value == "") && (document.forms[0].RESMOA.value == "") && (document.forms[0].RESAR.value == "") && (document.forms[0].RESDIS.value == ""))
{
document.getElementById('submitbutton').className = 'enabled'; 
}
else {
document.getElementById('submitbutton').className = 'disabled'; 
}
}
4

7 に答える 7

0

角かっこを閉じないでください

if (document.forms[0].IPR.value == "" && document.forms[0].FNM1.value == "" && ect...)

とても簡単です

于 2012-03-16T13:48:14.647 に答える
0

ロット全体を囲むもう1セットの括弧が必要です。つまり、if(a == b){..}

于 2012-03-16T13:48:29.513 に答える
0

これが修正されたコードです。

function ChangeButton()
{
    if 
    ((document.forms[0].IPR.value == "") && (document.forms[0].FNM1.value == "") && (document.forms[0].FNM1.value == "") && (document.forms[0].SURN.value == "") && (document.forms[0].GEND.value == "") && (document.forms[0].DOB.value == "") && (document.forms[0].CRIM.value == "") && (document.forms[0].ETHC.value == "") && (document.forms[0].DSBC.value == "") && (document.forms[0].MARK1.value == "") && (document.forms[0].NATC.value == "") && (document.forms[0].COBC.value == "") && (document.forms[0].COD.value == "") && (document.forms[0].FIVE.value == "") && (document.forms[0].PERM.value == "") && (document.forms[0].VISF.value == "") && (document.forms[0].USD.value == "") && (document.forms[0].HAD1.value == "") && (document.forms[0].HAD3.value == "") && (document.forms[0].HTEL.value == "") && (document.forms[0].HAEM.value == "") && (document.forms[0].FEES.value == "") && (document.forms[0].REF1TIT.value == "") && (document.forms[0].REF1ORG.value == "")     && (document.forms[0].REF1POS.value == "") && (document.forms[0].REF1AL1.value == "") && (document.forms[0].REF1AL3.value == "") && (document.forms[0].REF1AL5.value == "") && (document.forms[0].REF1EMA.value == "") && (document.forms[0].DISC.value == "")
        &&
        ((document.forms[0].PERM.value == "") && (document.forms[0].FIVE.value == "N")) 
        &&
        ((document.forms[0].AGNT.value == "") && (document.forms[0].USD.value == "Y")) 
        &&
        ((document.forms[0].CSTRT.value == "") && (document.forms[0].USD.value == "N") && (document.forms[0].CENDD.value == "") && (document.forms[0].CAD1.value == "") && (document.forms[0].CAD3.value == "") && (document.forms[0].CAD4.value == "") && (document.forms[0].CAPC.value == "") && (document.forms[0].CTEL.value == ""))
        &&
        ((document.forms[0].AWDB.value == "") && (document.forms[0].FEES.value == "") && (document.forms[0].FEES.value == "Private Funds Self or Family") && (document.forms[0].AWDS.value == ""))
        &&
        ((document.forms[0].RESEARCH.value == "Y") && (document.forms[0].RESSRT.value == "") && (document.forms[0].RESMOA.value == "") && (document.forms[0].RESAR.value == "") && (document.forms[0].RESDIS.value == "")))
        {
        document.getElementById('submitbutton').className = 'enabled'; 
        }
    else {
        document.getElementById('submitbutton').className = 'disabled'; 
    }
}

USEとIDE、それはあなたの人生をシンプルにします.. Eclipse IDEに乾杯:)

于 2012-03-16T13:54:56.367 に答える
0

そうですか

...&&...  document.forms[0].FIVE.value == ""
...&&... document.forms[0].FIVE.value == "N"

これは決して真実ではありません

編集

アプローチを変更する必要があると思います。次のようなことを試してください。

function ChangeButton()
{
    var frm = document.forms[0];
    var neverEmpty = ['field1','field2','field3'];
    var mustBe     = {field3:'Y', field4:'N'};

    var status = 'ok';

    for(var i = 0; i<neverEmpty.length; i++) {
        if(frm[neverEmpty[i]] == '') {
        status = 'ko';
        break;
    }
}

for(myField in mustBe) {
    if(frm[myfield] != mustBe[myField]) {
        status = 'ko';
        break;
    }
}
document.getElementById('submitbutton').className = status=='ok'? 'enabled' : 'disabled';

}

于 2012-03-16T14:01:12.337 に答える
0

私が見る限り、ここでは括弧は必要ありません(if構文で必要とされるものを除く)。

if(document.forms[0].IPR.value == "" && document.forms[0].FNM1.value == "" &&
   document.forms[0].PERM.value == "" && document.forms[0].FIVE.value == "N" &&
   ...
   ) {
    document.getElementById('submitbutton').className = 'enabled'; 
} else {
    document.getElementById('submitbutton').className = 'disabled'; 
}
于 2012-03-16T13:48:49.280 に答える
0

空であってはならない入力要素に「クラス」属性を与えます。次に、非常に醜いコードを書く代わりに、それを使用してすべての要素を見つけます。

于 2012-03-16T13:52:59.800 に答える
0

最初の中括弧の前と前にもう 1 つの括弧が必要です

于 2012-03-16T13:53:55.453 に答える