我正在隐藏/显示基于所选复选框的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\""; ?>>
因此,如果我正在重新加载页面,则由于可用的$_SESSION
var,已经选中了复选框。但隐藏的div是不可见的。那么我怎样才能扩展我的JS函数,它不仅仅是“onclick”。我应该用什么来检查呢?
答案 0 :(得分:2)
您需要在页面加载时检查此复选框的状态
<body onload="toggle_form_element(id);">
或者如果你正在使用jQuery:
$(function() {
// This code executes when the page loads
toggle_form_element(id);
});
答案 1 :(得分:1)
在加载页面时也必须调用toggle_form_element,因此在init函数中使用和调用toggle_form_element:
function init() {
toggle_form_element("other");
}