jquery表单验证代码的问题

时间:2013-05-15 22:25:18

标签: jquery forms

我正在尝试创建表单验证脚本。到目前为止,我所做的一切都在下面,希望不言自明,它不是很复杂。但是,我遇到了一个问题,即在输入有效的电子邮件时它不会提交表单。

总之,发生了什么:

(1)当没有输入任何内容时,无效的课程被添加好,表格不提交。

(2)当输入无效的电子邮件时,无效的课程会被正确添加,表格也不会提交。

(3)当输入有效的电子邮件时,表格什么都不做,并且不提交有效的条目。

任何人都可以在代码中看到可能导致此问题的任何内容并提供补救措施吗?

谢谢

$(function(){

var emailbox, emailval, emailreg, pcount;
    emailbox = $('#e-mail');
    emailval = $('#e-mail').val();
    emailreg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
    pcount = 0;

    $('form').on('submit', function(e){
        e.preventDefault();

        if (emailval === '' || emailval === ' ') {
            emailbox.addClass('invalid');
            pcount += 1;
        }

        if (!emailreg.test(emailval)) {
            emailbox.addClass('invalid');
            pcount += 1;
        }

        if (pcount === 0) {
            return true;
        }
    });
});

1 个答案:

答案 0 :(得分:0)

试试这个 -

$('form').on('submit', function(e){
        if (emailval === '' || emailval === ' ') {
            emailbox.addClass('invalid');
            return false;
        }

        if (!emailreg.test(emailval)) {
            emailbox.addClass('invalid');
            return false;
        }
});