1

選択したチェックボックスに基づいて div を非表示/表示しています。

<input type="checkbox" id="other" name="os[other]" value="6" onclick="toggle_form_element('os[other]')">

ここに私のJavascript関数があります:

function toggle_form_element(id) {
    if ((document.getElementsByName(id)[0].checked)) {
        document.getElementById('sometimesHidden').style.display = 'block';
    } else {
        document.getElementById('sometimesHidden').style.display = 'none';
    }
}

現時点ではこれで問題なく動作しています。しかし、これらの値を送信してセッションに保存するとします。これらのセッションは、チェックボックスをchecked="checked"次のように設定するために使用されます。

<input type="checkbox" id="other" name="os[other]" value="6" onclick="toggle_form_element('os[other]')" <?PHP if(!empty($_SESSION['register']['os']['other'])) echo "checked=\"checked\""; ?>>

そのため、ページをリロードしている場合、使用可能な$_SESSIONvar があるため、チェックボックスは既にチェックされています。ただし、非表示の div は表示されません。では、「onclick」だけでなくJS関数を拡張するにはどうすればよいですか。常にチェックするには何を使用すればよいですか?

4

2 に答える 2

3

ページの読み込み時にこのチェックボックスのステータスを確認する必要があります

<body onload="toggle_form_element(id);">

または、jQuery を使用している場合:

$(function() {
  // This code executes when the page loads
  toggle_form_element(id);
});
于 2013-05-29T08:47:39.443 に答える
1

ページがロードされたときにも toggle_form_element を呼び出す必要があるため、init 関数で と を使用して toggle_form_element を呼び出します。

function init() {
  toggle_form_element("other");
}
于 2013-05-29T08:53:03.277 に答える