テーブルに HTML フォームがあります。ユーザーがテキスト フィールドに「イタリア」と書かない限り、一部の要素を非表示にしたいと考えています。このスクリプトは、非表示にしたいテキスト フィールドを無効にする際にうまく機能します。
if (e.value == 'Italy' && e.name == 'birth'){
document.getElementById('comune_nascita').disabled = false
document.getElementById('provincia_nascita').disabled = false
} else if (e.name == 'birth'){
document.getElementById('comune_nascita').disabled = true
document.getElementById('provincia_nascita').disabled = true
}
実際の例: JSFiddle (「出生地」フィールドに「イタリア」と入力してみてください)。
テキスト フィールドを無効にしたくないだけです。完全に非表示にしたいのです。
<tr id='italy_b' style='display:none'>
そこで、テキスト フィールドを含む HTML 要素に追加し、スクリプトを次のように変換しました。
if (e.value == 'Italy' && e.name == 'birth'){
document.getElementById('italy_b').style.display = 'block'
} else if (e.name == 'birth'){
document.getElementById('italy_b').style.display = 'none'
}
ただし、ここで試してみて、エラーを確認してください: jsfiddle。「出生地」フィールドに「イタリア」と入力すると、他のテキスト フィールドが表示されますが、表から完全に消えてしまいます。
これを解決するにはどうすればよいですか?なぜ彼らはテーブルから出て行くのですか?