【发布时间】:2012-04-27 07:31:05
【问题描述】:
我想知道是否可以根据其他元素状态设置“必需”元素。例如,假设我有一个输入元素,当且仅当用户选中一个特定的复选框时,我希望它是“必需的”。首先,这是否可以在不使用 JavaScript 的情况下完成?其次,如果我们使用 JavaScript,当然可以在用户选中该复选框时设置规则/验证,但是关于默认浏览器验证错误的一致性呢?单击复选框后,将“必需”属性添加到元素是否“正确”?我在这里看不到替代品。您对此有何看法?
【问题讨论】:
我想知道是否可以根据其他元素状态设置“必需”元素。例如,假设我有一个输入元素,当且仅当用户选中一个特定的复选框时,我希望它是“必需的”。首先,这是否可以在不使用 JavaScript 的情况下完成?其次,如果我们使用 JavaScript,当然可以在用户选中该复选框时设置规则/验证,但是关于默认浏览器验证错误的一致性呢?单击复选框后,将“必需”属性添加到元素是否“正确”?我在这里看不到替代品。您对此有何看法?
【问题讨论】:
我认为没有 javascript 就无法做到这一点。
使用 javascript,您可以轻松地做到这一点。
我只会在单击复选框后添加required 属性。
事实上,我会将其设为toggled 部分,以便用户可以取消选中和取消要求输入。
但是,我不会依赖浏览器对required 属性的实现。相反,我会使用一些 CSS(突出显示、动画、显示一些文字)创建自己需要的通知。
【讨论】:
当不可用时,您可以使用 polyfill 模拟原生验证:
https://github.com/Modernizr/Modernizr/wiki/HTML5-Cross-Browser-Polyfills
【讨论】: