从提交中排除隐藏的表单字段

2024-04-09

我根据复选框的状态隐藏/显示 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';
    }
}

这是“sometimesHidden”div:

<div id="sometimesHidden">
    <input type="text" size="20" id="other_os" name="other_os">
</div>

现在我想使用我的toggle_form_element 函数也从$_POST['array'] 中排除“隐藏”div 中的所有输入字段。

但我该怎么做呢?


您可以添加一个disabled https://developer.mozilla.org/en-US/docs/XUL/Attribute/disabled属性到您不想提交的任何字段。

function toggle_form_element(id) {
    if ((document.getElementsByName(id)[0].checked)) {
        document.getElementById('sometimesHidden').setAttribute("disabled", "disabled");
    } else {
        document.getElementById('sometimesHidden').removeAttribute("disabled");
    }
}

对于 jQuery 解决方案:

// Disables all input, select & textarea tags within the .sometimesHidden div
if(checked) {
  $("input, select, textarea", $(".sometimesHidden")).attr("disabled", "disabled");
}
else {
  $("input, select, textarea", $(".sometimesHidden")).removeAttr("disabled");
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从提交中排除隐藏的表单字段 的相关文章

随机推荐