Asp.Net MVC在页面加载时禁用不显眼的自动验证

时间:2013-08-11 00:57:47

标签: asp.net-mvc validation asp.net-mvc-4 unobtrusive-validation

我的文本框上有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( '占位符'));未经过验证。 (它在电子邮件字段中显示电子邮件文本)

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

0 个答案:

没有答案