【问题标题】:form's "valid" attribute or analog表单的“有效”属性或类似物
【发布时间】:2016-05-10 03:41:09
【问题描述】:

我需要让我的提交按钮处于非活动状态(视觉上)。 HTML/CSS 中是否有一些功能,除了那些我已经使用并且仅在 chrome 中有效的功能?

form:invalid input[type="submit"]{
  background-color: grey;
  width: 150px;
  height: 50px;
  margin-left: 20px;
}
form:valid input[type="submit"]{
  background-color: green;
  transition: all .4s ease-in-out;
}

【问题讨论】:

    标签: css forms validation submit


    【解决方案1】:

    是的,您可以通过设置属性disabled="disabled" 轻松地使用 html 来实现。您可以在这种情况下使用它:

    <form>
        <button id="submit-button" type="submit" disabled="disabled">submit</button>
        <input id="submit-button2" type="submit" disabled="disabled" value="submit">
    </form>
    

    但是,您也可以使用 javascript 来执行此操作。

    document.getElementById('submit-button').setAttribute('disabled', 'disabled');
    

    然后您可以使用 css 属性选择器来更新按钮的样式(适用于大多数现代浏览器):

    button[disabled="disabled"] { 
        background-color: yellow;
    }
    
    input[disabled="disabled"] {
        background-color: pink;
    }
    

    here's a jsfiddle example

    【讨论】:

    • 感谢您的回答,但我只需要视觉材料,例如颜色、大小等。它已被输入的“必需”属性禁用。我可以通过 js 来实现,但如果有更自然的方式(比如 'form:invalid input')——我更喜欢它。
    • 嗯,好的,我已经更新了我的答案和 jsfiddle。使用 disabled="disabled" css 属性选择器可以让您访问应该禁用的样式按钮。但是由于他们拥有这些属性,html 已经将它们设置为灰色,所以不能 100% 确定您是否想做其他事情?
    • 谢谢!如果通过不检查表单中的“必需”输入来禁用按钮,我可以使用 button[disabled="disabled"] 选择器吗?我问是因为它看起来像我尝试使用 form:invalid input[type="submit"]
    • 我已经更新了 m answer 和 jsfiddle。这取决于您的验证是否使用 disabled="disabled" 属性来禁用您的提交按钮,如果是这种情况,那么您可以。例如表单:无效输入[disabled="disabled"] { ... }
    • 您的 js 建议效果很好。但我仍然想知道“提交”的 html/css 状态(我如何捕捉它)是什么,而一些“必需”输入是空的......
    猜你喜欢
    • 1970-01-01
    • 2012-02-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多