Re: (A && B)?
すぎたです。
In message news:bahAa.284$t6.10@news1.dion.ne.jp
"ITAHASHI Kunio" <kunitahashi@h2.dion.ne.jp> wrote ...
> いま、(条件A)?X:Y での条件式を勉強しています。
> この条件分岐では()内に&&や||などの演算子を入れる
> ことはできますか?
> 自分なりに試してみましたがどうもうまく動かないようです。
既に久野さんが一度答えを書いていますが、条件Aに&&等が
使えないのではなく、個別の条件がおかしいと思われます。
function CheckData(gas){
(("CO2" == gas) && (document.form1.elem2.name == gas))
? alert('P1') : alert('P2');
}
ここで、document.from1.elem2.name の値は elem2 では
ないですか?
こういった場合、まず gas や document.form1.elem2.name を
alert()等で表示してみて、それでもわからない場合は、
たとえば ? : で書くとすると、以下のように個別に
チェックしてみると良いです。
("CO2" == gas) ? alert('P1') : alert('P2');
(document.form1.elem2.name == gas) ? alert('N1') : alert('N2');
また、条件式を一旦変数に代入して表示させてみるのも手です。
flag = (("CO2" == gas) && (document.form1.elem2.name == gas));
alert(flag);
おそらく、今テストしておられるソースでは false に
なると思われます。
# 今、もし gas に CO2 が入っているとして、elem2.name は
# elem2 とすると、true && false で false となっている
# と思われます。
--
杉田
sugi-nws@bk.iij4u.or.jp
Fnews-brouse 1.9(20180406) -- by Mizuno, MWE <mwe@ccsf.jp>
GnuPG Key ID = ECC8A735
GnuPG Key fingerprint = 9BE6 B9E9 55A5 A499 CD51 946E 9BDC 7870 ECC8 A735