2

我正在使用样式化的表单,结合了许多 jQuery 插件来帮助设置表单元素的样式,例如<select><input type="checkbox" />. 这些插件隐藏了原始表单输入,并用一组可替换的 HTML 元素(<div><a><ul>等)替换它们。[required]唯一的问题是,如果用户尝试在未填写必填字段的情况下提交表单,他们似乎没有处理该属性并应用浏览器(Firefox、Chrome)的框阴影效果。有没有一种简单的方法可以让这些[required]属性转换为替换元素?我只是扩展插件并让它们将[required]属性复制到替换元素,但我怀疑<div>标签是否支持[required]. 我在 Internet 上环顾四周,但没有找到太多有用的指南。有没有我想念的解决方法?我只是想不出该怎么做。

我想我可以使用成熟的客户端验证,但我试图将 jQuery/JavaScript 干预降至最低。如果没有好的方法可以做到这一点,我会去使用表单验证插件或其他东西。现在,为了样式的一致性,我用一些 CSS 禁用了所有的 box-shadow 效果:

input:invalid, input:required,
textarea:invalid, textarea:required,
select:invalid, select:required {
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    -box-shadow: none;
}
4

0 回答 0