0

我想知道,因为 HTML5 为表格带来了许多最小化的属性(旧的 HTML 也有这些属性),例如autocomplete,另一种编写方式也可以autocomplete="autocomplete"用于 XHTML,以及该属性的完整版本。

disabledor相同disabled="disabled"

我的问题是:
如何取消设置这些属性,如何阻止表单自动完成,或者使元素不再被禁用?假设我通过 PHP 设置了类似的东西disabled="<?php echo(x)?>",如果我想设置要禁用的东西,据我所知,我可以将几乎任何值设置为x,它仍然会被禁用吗?就像,如果我输入x = "disabled"or x = "randomword",它的行为将相同,并且该元素将被禁用。但是是否有一个代码字实际上使它不起作用?或者你怎么能做到这一点?

例如,我试过:
disabled="false"
disabled="off"
disabled="0"

而且它们似乎不起作用。也许我不理解整个概念,你怎么能解决这个问题,有人可以告诉我,我如何动态轻松地更改这些值?

谢谢!

4

3 回答 3

3

只需更改disabled="<?php echo(x)?>"为:

<anyTag someAttribut="value"
<?php
  if(condition){
    echo ' disabled="disabled" ';
  }
?>
>//End of Tag

在运行时,您可以使用 javascript 修改这些属性并将它们视为普通的布尔对象属性:

document.getElementById('anyElementID').disabled = false;
于 2014-06-25T09:12:02.957 回答
3

如果设置disabled="SOMETHING",您的输入将被禁用。做你想做的事情的唯一方法是不要把禁用的属性放在你的表单中。

而不是disabled="<?php echo(x)?>",您可以将其存储disabled='disabled'在 var 中并仅在必须禁用它时才打印它。

于 2014-06-25T09:13:43.230 回答
1

属性likeautocompletedisabled彼此非常不同,不能真正作为一个组来处理。

根据 HTML5 LC,该autocomplete属性有两个可能的值,onoff(不区分大小写)。其他值已在其他 HTML5 草案中定义,但这不会影响手头的问题。这是一个带有关键字值的简单属性。该值为on默认值。因此,为了防止自动完成,您需要设置autocomplete=off.

disabled属性以及其他一些属性被定义为只有属性的存在才重要,而不是它的值。HTML5 混淆地称这些属性为“布尔属性”。这意味着如果元素缺少该disabled属性,则该元素不会处于禁用状态。因此,只需完全省略该属性。

于 2014-06-25T12:01:35.773 回答