Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 如何禁用整个div?_Html - Fatal编程技术网

Html 如何禁用整个div?

Html 如何禁用整个div?,html,Html,我有一个div,里面有单选按钮或复选框等元素。我想一下子启用/禁用所有这些功能。这个 <!-- 1 --> <div disabled="true"> ........ </div> <!-- or --> <!-- 2 --> <div disabled="disabled"> ........ </div> ........ ........ 不起作用。如何在不禁用div中每个单独的htm

我有一个div,里面有单选按钮或复选框等元素。我想一下子启用/禁用所有这些功能。这个

<!-- 1 -->
<div disabled="true">
  ........
</div>

<!-- or -->  
<!-- 2 -->
<div disabled="disabled">
  ........
</div>

........
........

不起作用。如何在不禁用div中每个单独的html表单元素的情况下使其工作?

没有禁用html中的div这样的方法。事实上,您可以使用JQuery,例如使用foreach循环禁用此div的所有内容。至于CSS规则,您必须手动定义它们。

您需要迭代div中的所有表单元素,并逐个禁用它们,如下所示:

//用于更改单个元素禁用状态的Helper函数
功能更改禁用状态(elm,禁用){
如果(!已禁用){
elm.removeAttribute('disabled');
}
否则{
elm.setAttribute('disabled',disabled);
}
}
函数切换FormDiv(容器){
//检查是否存在帮助器类
const isDisabled=container.classList.contains('disabled');
//查询DIV中的所有字段。
const allFields=container.querySelectorAll('input,textarea,button,select');
//迭代所有元素并设置相反的状态
[…所有字段].forEach(elm=>{
changeDisabledState(elm,!isDisabled);
} );
//切换辅助类
container.classList.toggle('disabled');
}
document.getElementById('toggle')。addEventListener('click',()=>{
//获取要禁用的DIV容器
const container=document.querySelector('.container');
toggleFormDiv(容器);
} );

按钮
挑选
文本区域

切换
使用JQuery尝试此操作。要禁用所有控件,需要使用基于的jquery attr()方法将disabled属性值设置为disabled

//禁用div1的元素

$("#div1").find("input, button, submit, textarea, select").attr("disabled", "disabled");

也许您可以在PHP
if
else
语句中看到答案,它们可以“禁用”部分代码:)



-编辑:这是PHP解决方案=>服务器端解决方案

也许JQueryJavaScript帮助更多:) 希望我能帮助你:)


EriiYenn Lacroix

启用/禁用
显示/隐藏
,因为对于
div
,没有启用/禁用
之类的东西。请使用JavaScript禁用各个表单元素。这不满足“如何在不禁用div中的每个单独html表单元素的情况下使其工作?”您刚刚将工作从客户端转移到了服务器端。这仍然是一种方法。在显示div时,您可能可以使用W3.css“隐藏”和“显示”类+脚本的逻辑。
<?php

if(smthing) {
echo <<<END
<div> ... </div>
END;
} 

else {
echo <<<END
<div> ... </div>
END;
}
?>