0

我的文本框、姓名、电子邮件、电话上有一个 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('placeholder')); 未经验证。(它在电子邮件字段中显示电子邮件文本)

我不明白为什么验证会在页面加载时触发,而不是在我通过按钮提交表单时触发。

4

0 回答 0