【问题标题】:How can you manipulate a minimized attribute value in HTML如何在 HTML 中操作最小化的属性值
【发布时间】:2014-06-25 09:08:01
【问题描述】:

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

disableddisabled="disabled" 相同

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

比如我试过:
disabled="false"
disabled="off"
disabled="0"

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

谢谢!

【问题讨论】:

  • 布尔属性只需存在即可触发其效果。如果您不想禁用某些东西,请不要放置任何禁用属性。
  • 题名很奇怪,似乎和题的内容关系不大。

标签: php html minimized


【解决方案1】:

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

除了disabled="<?php echo(x)?>",您可以将disabled='disabled' 存储在一个变量中,并且仅在必须禁用它时才打印它。

【讨论】:

  • 好的,非常感谢,这就是我错过/没想到的!
【解决方案2】:

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

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

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

document.getElementById('anyElementID').disabled = false;

【讨论】:

    【解决方案3】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2023-03-30
      • 2016-07-24
      • 2021-03-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多