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';
    }
}

目前这工作正常。但是,如果我提交这些值并将它们保存到会话中。这些 Session 用于将复选框设置为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 不可见。那么如何扩展我的 JS 函数,它不仅可以“onclick”工作。我应该用什么来检查它?

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 回答