重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

テキストボックスA
テキストボックスB

2つのテキストボックスが両方とも空欄の場合もしくは、データが入っている場合はアラートを出さず、片方のみデータが入力されている時にアラートを出したいと考えています。
以下のソースを書きましたが、両方とも空欄の場合もアラートが出てしまいます。この解決方法をご教示頂けないでしょか?よろしくお願い致します。

if (document.formGeneratorForm["A"].value | !document.formGeneratorForm["B"].value){
alert('Bをご記入下さい。');
return false;reqd_err=1;
}
if (!document.formGeneratorForm["A"].value | document.formGeneratorForm["B"].value){
alert('記入している方のお名前をご記入下さい。');
return false;reqd_err=1;
}

A 回答 (2件)

言語はJavaScriptでしょうか?



ソースを日本語にするとわかりやすいです。
if文(1):Bが空「または」Aに入力があるときに「Bを入力してください」のメッセージ
if文(2):Aが空「または」Bに入力があるときに「Aを入力してください」のメッセージ
AとBが空のとき、if文(1)、if文(2)が同時に条件を満たすのがわかるでしょうか?
「または(OR)」を「かつ(AND)」にすると、解決しますよね?

よって、if文の条件をANDにしてみてください。
例) if ((条件1) && (条件2)) { ・・・ }
    • good
    • 0
この回答へのお礼

早速のご回答ありがとうございました。
初歩的なミスでした・・・

お礼日時:2007/01/12 17:20

こうですかね。



if (document.formGeneratorForm["B"].value=="" && document.formGeneratorForm["A"].value=="" )
return true;

if (document.formGeneratorForm["B"].value==""){
alert('Bをご記入下さい。');
return false;reqd_err=1;
}
if (document.formGeneratorForm["A"].value==""){
alert('記入している方のお名前をご記入下さい。');
return false;reqd_err=1;
}
}
    • good
    • 0
この回答へのお礼

早速のご回答ありがとうございました。
何とか正解にたどり着くことが出来ました。

お礼日時:2007/01/12 17:22

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!