<div style="display:none;">
<input type="text"/>
</div>
使用上面的代码,输入将在提交表单时发布。但是如何避免提交隐藏父元素的输入元素呢?任何想法将不胜感激。
<div style="display:none;">
<input type="text"/>
</div>
使用上面的代码,输入将在提交表单时发布。但是如何避免提交隐藏父元素的输入元素呢?任何想法将不胜感激。
在发布您的表单时,有一个onClick
函数并在其中编写以下代码。此代码将帮助您找到所有div
标签,即display:none
div 为 display:none,它将禁用所有输入元素。
检查这个http://jsfiddle.net/xyuY6/3/
var divs= document.getElementsByTagName('div');
for(var i = 0;i < divs.length; i++) {
if(divs[i].style.display == 'none') {
if ( divs[i].hasChildNodes() ){
var inputs = divs[i].getElementsByTagName('input');
for(var j = 0;j < inputs.length; j++) {
inputs[j].disabled = true;
}
}
}
}
如果在提交之前没有其他方法可以做,请使用 Javascript 从隐藏的 div 中删除所有子元素,这样您就不会在 POST 中获取它们。
改为使用display:none
将解决您的问题。
设置disabled
在输入元素上。
这不是 PHP 问题,而是 HTML/DOM 问题。正如一个人在您的原始线程上评论的那样,如果您通过 PHP 生成此代码,您应该disabled='disabled'
在您的 input 元素中包含以防止提交并在通过 javascript 取消隐藏父元素时删除 disabled 属性以允许再次提交元素值.
如果您需要进一步的帮助,我会在此答案中添加 HTML 和 Javascript 标记。