我的文本框上有html5占位符,名称,电子邮件,电话。 为了让它在ie9和更少的工作,我有以下javascript:
$(document).ready(function () {
if (!Modernizr.input.placeholder) {
$('[placeholder]').focus(function () {
var input = $(this);
if (input.val() == input.attr('placeholder')) {
input.val('');
input.removeClass('placeholder');
}
}).blur(function () {
var input = $(this);
if (input.val() == '' || input.val() == input.attr('placeholder')) {
input.addClass('placeholder');
**input.val(input.attr('placeholder'));**
}
}).blur().parents('form').submit(function () {
$(this).find('[placeholder]').each(function () {
var input = $(this);
if (input.val() == input.attr('placeholder')) {
input.val('');
}
})
});
}
});
问题是当页面被加载时,默认情况下以不明显的方式触发不显眼的验证并检查文本框值,当然还会显示错误标签,因为这些值: input.val(input.attr( '占位符'));未经过验证。 (它在电子邮件字段中显示电子邮件文本)
我不明白为什么验证会在页面加载时触发,而不是在我按钮提交表单时触发。