我有一组带有隐藏/显示网站区域的 onclick 事件的单选按钮。onclick 还启用/禁用 spry 验证。
onclick 效果很好!但是,当页面加载并且单选按钮被标记为已单击时,不确定如何触发 onclick。
例如,用户可以选择主页上的单选按钮。然后在表单过程的后期,用户可能想要编辑他们输入的输入。然后我会检查用户在主页上选择的单选按钮。由于用户没有点击单选按钮,隐藏区域仍然保持隐藏状态。
我有一组带有隐藏/显示网站区域的 onclick 事件的单选按钮。onclick 还启用/禁用 spry 验证。
onclick 效果很好!但是,当页面加载并且单选按钮被标记为已单击时,不确定如何触发 onclick。
例如,用户可以选择主页上的单选按钮。然后在表单过程的后期,用户可能想要编辑他们输入的输入。然后我会检查用户在主页上选择的单选按钮。由于用户没有点击单选按钮,隐藏区域仍然保持隐藏状态。
window.onready=function()
{
if(document.getElementById('yourRadioButtonId').checked) {
//call your function, that you want to be triggered, as you will have the same call back function bounded for your onclick event
}
或者
window.onready=function()
{
var radioButton=document.getElementById('yourRadioButtonId');
if(radioButton.checked) {
radioButton.click();
}
}
注意:并非所有浏览器都允许以这种方式模拟事件。请参阅触发方法的 jQuery 源代码,了解如何处理所有浏览器怪癖。
处理这个问题的最好方法是编写一个辅助函数。稍后,这个辅助函数可以被 onClick(在单选按钮上)和 onLoad(在 body 元素上)事件调用。此函数将获取单选按钮的值,并根据结果执行操作。
例如:
function handleRadioButtonStateAction() {
var radioButtons = document.getElementsByName('theRadioButtonName');
for (var x = 0; x < radioButtons.length; x ++) {
if (x == yourDesiredButton && radioButtons[x].checked) {
//do action
}
}
}