我的一个客户在他们的联系人表单中使用了HTML5占位符,但是突然之间,他们开始表现得像值一样,并且允许在没有填充所有必填字段的情况下提交表单。
有解决这个问题的办法吗?
Here's an example link of that helps (姓名、电话号码和电子邮件)都是必填字段,但只有未正确填写的电子邮件才会显示错误
发布于 2013-07-31 17:17:28
您使用aria-required而不是required。
还可以看看HTML5表单验证:
http://www.the-art-of-web.com/html/html5-form-validation/
该站点包含有用的示例,例如:
<input type="url" name="website" required pattern="https?://.+">编辑:
请记住,HTML5验证仅用于用户友好性(可用性、更好的/可视化错误处理)。如果浏览器不支持html5 (就像浏览器不支持js一样),就不会执行验证。所以仍然使用后端验证!
发布于 2013-07-31 17:33:34
您的custom.js中有一个将值设置为占位符文本的函数:
if ($(this).attr('placeholder') != '' && ($(this).val() == '' || $(this).val() == $(this).attr('placeholder'))) {
$(this).val($(this).attr('placeholder')).addClass('hasPlaceholder');
}但是在提交时删除它的函数被注释掉了:
$('form').submit(function () {
//$(this).find('.hasPlaceholder').each(function() { $(this).val(''); });
});我还认为您在那里使用的$.support.placeholder是未定义的。
https://stackoverflow.com/questions/17966250
复制相似问题