0

私はhtmlでフォームを作成しています.フォームの1つの要素はチェックボックスであり、ユーザーに電話番号があるかどうかを尋ねます.2つのアクションを作成しようとしています:チェックボックスがチェックされている場合、同じ中に新しい入力要素を表示したいユーザーが自分の電話番号を入力できるようにするページで、ユーザーが気が変わってチェックボックスをオフにしようとすると、最後の入力が削除され、別の入力が別の情報のために表示されます。チェックボックスがチェックされていて、ユーザーが自分の番号を入力できるように入力されているように見える場合は機能しますが、ユーザーが気が変わったり、誤ってこのチェックボックスをチェックしてチェックを外したりした場合、番号の入力はまだページにあり、私はチェックボックスがチェックされた後、チェックボックスのチェック解除イベントが機能しないことを意味します! 助けてください...

<html>
<head><script>
function change(n){
if (n.checked)
document.getElementById("message").innerHTML = "enter your number <input type="text" ....";
if (n.unchecked)
document.getElementById("message").innerHTML = "age <input type="text" ....";
}
</script>
</head>
<body><label><input type = "checkbox" onchange = "change(this)">Checkbox</label>
<div id="message"></div>
</body>
4

1 に答える 1

1

if..else値が必要なだけですthis.checked。だから、このようなもの -

document.querySelector('input[type="checkbox"]').addEventListener('change', function () {
    if (this.checked) {
        document.getElementById("message").innerHTML = 'enter your number <input type="text">';
    }
    else {
        document.getElementById("message").innerHTML = 'age <input type="text">';
    }
}, false);

ワーキングデモ

于 2013-04-17T04:20:10.450 に答える