kansai5963
@kansai5963

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

if文で&&と||と!が混在する場合について

現在、node.jsを使用してあるプログラムを作成しております。
表示された画面にはセレクトボックスが3つとインプットボックスが3つあります。

| セレクトボックスA | インプットボックスA |
| セレクトボックスB | インプットボックスB |
| セレクトボックスC | インプットボックスC |

表示画面より各ボックスの値を取得し、下記条件にて分岐させました。

①セレクトボックスAが未入力でインプットボックスAが入力されている。又はセレクトボックスAが入力されていてインプットボックスAが未入力の場合
②セレクトボックスBが未入力でインプットボックスBが入力されている。又はセレクトボックスBが入力されていてインプットボックスBが未入力の場合
③セレクトボックスCが未入力でインプットボックスCが入力されている。又はセレクトボックスCが入力されていてインプットボックスCが未入力の場合

ネットでも調べましたが、単純な&&、||、!を使用したものはございましたが、これらを組み合わせた条件式というのが見つからなかったので投稿させていただきました。
やりたいことはセレクトボックスまたはインプットボックスが全て空白だった場合と上記①②③の場合は処理Aを行いたいのですが、セレクトボックスAとインプットボックスAに入力した場合(他のボックスは未入力)でも

【条件式】
if(セレクトボックスA==""&&セレクトボックスB==""&&セレクトボックスC==""){
 処理A

}else if(インプットボックスA==""&&インプットボックスB==""&&インプットボックスC==""){
処理A

}else if(セレクトボックスA!=""&&インプットボックスA==""||セレクトボックスA==""&&インプットボックスA!=""){
 処理A

}else if(セレクトボックスB!=""&&インプットボックスB==""||セレクトボックスB==""&&インプットボックスB!=""){
 処理A  ※

}else if(セレクトボックスC!=""&&インプットボックスC==""||セレクトボックスC==""&&インプットボックスC!=""){
 処理A

}else{
 処理B

【処理結果】
※印にすすんでしまい、希望とする処理結果(処理B)となりません。
どなたかわかる方がおられましたらご教示願います。

0

1Answer

セレクトボックスB!=""&&インプットボックスB==""||セレクトボックスB==""&&インプットボックスB!=""

この条件式で使われている セレクトボックスB の値と インプットボックスB の値をどう取得したかが分からないとなんとも言えませんが、未入力のとき空文字列ではなく nullundefined が入っている可能性があります。

1Like

Your answer might help someone💌