フォームの表示を変更できない
Q&A
Closed
解決したいこと
フォームの表示を変更したい
フォームの表示が切り替わるようjavascriptを使って実装してみました。
ボタンは個人と法人の2つです。
法人のボタンを押して、もう一度個人のボタンを押しても表示が法人のままになってしまいます。
何度押しても切り替えできる方法を教えていただけますでしょうか?
0
Q&A
Closed
フォームの表示を変更したい
フォームの表示が切り替わるようjavascriptを使って実装してみました。
ボタンは個人と法人の2つです。
法人のボタンを押して、もう一度個人のボタンを押しても表示が法人のままになってしまいます。
何度押しても切り替えできる方法を教えていただけますでしょうか?
記載のコードを簡略化して、ラジオボタンの状態をコンソールに表示するようにしました。
これで「表示が法人のままになってしまう」原因がわかると思います。
<main>
<h1>振込情報設定</h1>
<div id="individual">
<form>
<div class="form-check">
<input class="form-check-input" type="radio" name="maker" value="個人" onclick="formSwitch()"
checked>
<label class="form-check-label"> 個人1</label>
</div>
<div class="form-check">
<input class="form-check-input" type="radio" name="maker" value="法人" onclick="formSwitch()">
<label class="form-check-label"> 法人1</label>
</div>
</form>
</div>
<div id="corporation">
<form>
<div class="form-check">
<input class="form-check-input" type="radio" name="maker" value="個人" onclick="formSwitch()">
<label class="form-check-label"> 個人2</label>
</div>
<div class="form-check">
<input class="form-check-input" type="radio" name="maker" value="法人" onclick="formSwitch()" checked>
<label class="form-check-label"> 法人2</label>
</div>
</form>
</div>
</main>
function formSwitch() {
maker = document.getElementsByName('maker');
console.log('個人1', maker[0].checked);
console.log('法人1', maker[1].checked);
console.log('個人2', maker[2].checked);
console.log('法人2', maker[3].checked);
if (maker[0].checked) {
// 個人が選択されたら下記を実行します
console.log('個人1が選択されています。');
document.getElementById('individual').style.display = "";
document.getElementById('corporation').style.display = "none";
} else if (maker[1].checked) {
// 好きな場所が選択されたら下記を実行します
console.log('法人1が選択されています。');
document.getElementById('individual').style.display = "none";
document.getElementById('corporation').style.display = "";
}
}
window.addEventListener('load', formSwitch());
@ikon0518
Questioner
@ikon0518
Questioner
@ikon0518
Questioner
@ikon0518
Questioner