我很想知道,因为HTML5为表格带来了很多最小化的属性(旧的HTML也有这些),例如autocomplete
,另一种写作方式也可能是autocomplete="autocomplete"
XHTML,以及该属性的完整版本。
与disabled
或disabled="disabled"
我的问题是:
如何取消设置这些属性,如何从自动填充中停止表单,或者再次禁用元素?假设我通过PHP设置类似disabled="<?php echo(x)?>"
的内容,如果我想设置禁用的东西,就像我理解的那样,我可以将任何值放到x
,它仍然会被禁用?因此,如果我键入x = "disabled"
或x = "randomword"
,它将表现相同,并且元素将被禁用。但有没有一个代码字实际上让它不工作?或者你怎么能做到这一点?
例如,我尝试过:
disabled="false"
disabled="off"
disabled="0"
它们似乎不起作用。也许我不是从整体上理解这个概念,你怎么能解决这个问题,有人可以告诉我,我怎样才能动态,轻松地改变这些价值观?
谢谢!
答案 0 :(得分:3)
只需将disabled="<?php echo(x)?>"
更改为:
<anyTag someAttribut="value"
<?php
if(condition){
echo ' disabled="disabled" ';
}
?>
>//End of Tag
在运行时,您可以使用javascript修改这些属性,并将它们视为普通的布尔对象属性:
document.getElementById('anyElementID').disabled = false;
答案 1 :(得分:3)
如果设置disabled="SOMETHING"
,您的输入将被禁用。执行所需操作的唯一方法是不将禁用的属性放在表单中。
而不是disabled="<?php echo(x)?>"
,您可以将disabled='disabled'
存储在var中,只有在必须禁用它时才打印它。
答案 2 :(得分:1)
autocomplete
和disabled
之类的属性彼此非常不同,无法真正作为一个群体进行处理。
根据HTML5 LC,autocomplete
属性有两个可能的值,on
和off
(不区分大小写)。其他HTML5草案中已定义了其他值,但这不会影响手头的问题。这是一个包含关键字值的简单属性。值on
是默认值。因此,要防止自动填充,您需要设置autocomplete=off
。
定义disabled
属性以及其他一些属性,以便只有属性的存在才重要,而不是它的值。 HTML5令人困惑地将这些属性称为“布尔属性”。这意味着如果元素缺少disabled
属性,则该元素不处于禁用状态。所以只要完全省略该属性。