以下のような構文を作成しましたが、うまく動きません。
ネストに回数制限があるのでしょうか?
因みに、2つ目以降のIF文を削ったら動きました。
if (条件文) {
if (条件文) {
if (条件文) {
trueの処理
}
} else { falseの処理
}
} else if (条件文) {
trueの処理
}
以上、よろしくお願いします。
以下のような構文を作成しましたが、うまく動きません。
ネストに回数制限があるのでしょうか?
因みに、2つ目以降のIF文を削ったら動きました。
if (条件文) {
if (条件文) {
if (条件文) {
trueの処理
}
} else { falseの処理
}
} else if (条件文) {
trueの処理
}
以上、よろしくお願いします。
Hiroshiさん
cstapの瀧ヶ平です。
JavaScriptのif文にネスト回数の制限は(少なくとも2階層程度では)ありません。
よって2つ目移行のif文の条件文が誤っていないか確認することをおすすめします。
よくあるパターンでは == と = を間違えていることや、===(厳密な比較) と ==(ゆるい比較)を間違えている場合などでしょうか
瀧ヶ平様
その後、条件文の確認を行ったのですが、原因が分かりません。
見ていただけますと幸いです。
以下(外側の構文のみ)では正常動作します。(アラート出ます)
if (record[‘開始日’][‘value’]) {
window.alert(‘開始日が入力されました。’);
} else if (record[‘終了日’][‘value’]) {
record[‘開始日’].error = ‘未入力です。’;
}
以下では、スルーされているようです。(アラート出ません)
if (record[‘開始日’][‘value’]) {
window.alert(‘開始日が入力されました。’);
if (record[‘終了日’][‘value’]) {
window.alert(‘終了日が入力されました。’);
if (record[‘開始日’][‘value’] > record[‘終了日’][‘value’]) {
record[‘終了日’].error = ‘逆転しています。’;
} else {
}
} else { record[‘終了日’].error = ‘未入力です。’;
}
} else if (record[‘終了日’][‘value’]) {
record[‘開始日’].error = ‘未入力です。’;
}
以上、よろしくお願いします。
瀧ヶ平様
コンソールで確認したら原因がわかりました。
一部、}が全角になっていました。
お騒がせいたしました。