Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将表单上的javascript验证更改为onblur或onchange,而不是submit_Javascript_Jquery_Html_Forms_Validation - Fatal编程技术网

将表单上的javascript验证更改为onblur或onchange,而不是submit

将表单上的javascript验证更改为onblur或onchange,而不是submit,javascript,jquery,html,forms,validation,Javascript,Jquery,Html,Forms,Validation,我有一个验证php和javascript的表单 我想将javascript验证更改为实时。我有它的设置,所以类和消息添加,如果用户输入正确的信息或不正确的信息后,点击提交按钮。这是一个验证,我已经使用了一段时间,并希望更新为一个实时验证。我尝试使用相应的函数将onblur(myFunction)等添加到输入字段中。这似乎不起作用。我是个傻瓜。我意识到这个脚本需要大修,但是有人能给我指出正确的方向吗。我意识到有一个jquery插件可以做一些这方面的工作,但是我想了解它是如何发生的,而不是使用现有的

我有一个验证php和javascript的表单

我想将javascript验证更改为实时。我有它的设置,所以类和消息添加,如果用户输入正确的信息或不正确的信息后,点击提交按钮。这是一个验证,我已经使用了一段时间,并希望更新为一个实时验证。我尝试使用相应的函数将onblur(myFunction)等添加到输入字段中。这似乎不起作用。我是个傻瓜。我意识到这个脚本需要大修,但是有人能给我指出正确的方向吗。我意识到有一个jquery插件可以做一些这方面的工作,但是我想了解它是如何发生的,而不是使用现有的代码

        $(function () {
        $('#contact_form').submit(function(e) {
            e.preventDefault();
            var form = $(this);
            var post_url = form.attr('action');
            var post_data = form.serialize();
            var submit_form = false;

            *validation here*

            if (pcount == 0 && pcount2 == 0 && pcount3 == 0) {
                submit_form = true;
            }

            if (submit_form) {
                $('#loader', form).html('<img src="assets/img/loader.gif" /> Please Wait...');
                $.ajax({
                    type : 'POST',
                    url : post_url,
                    data : post_data,
                    success : function(msg) {
                        $(form).fadeOut(500, function() {
                            form.html(msg).fadeIn();
                        });
                    }
                });
            }
        });

    });
$(函数(){
$('联系表格')。提交(功能(e){
e、 预防默认值();
变量形式=$(此);
var post_url=form.attr('action');
var post_data=form.serialize();
var submit_form=false;
*在此验证*
如果(pcount==0&&pcount2==0&&pcount3==0){
提交表格=真;
}
如果(提交表格){
$('loader',form).html('Please Wait…');
$.ajax({
键入:“POST”,
url:post_url,
数据:post_数据,
成功:功能(msg){
$(形式).fadeOut(500,函数(){
html(msg.fadeIn();
});
}
});
}
});
});

这样做并不难,只需将发送和验证分开,如下所示:

$.fn.validateMyForm = function() {
    var form = $(this);
    /* validation */
    if (pcount == 0 && pcount2 == 0 && pcount3 == 0) {
        return true;
    }
    return false;
}

$(function () {
    $('#contact_form').submit(function(e) {
        e.preventDefault();
        var form = $(this);
        var post_url = form.attr('action');
        var post_data = form.serialize();
        if ($(form).validateMyForm()) {
            /* ajax sending */
        });
    }
});
然后在需要时添加模糊事件的验证:

$("input").blur({
    $('#contact_form').validateMyForm();
});

这样做并不难,只需将发送和验证分开,如下所示:

$.fn.validateMyForm = function() {
    var form = $(this);
    /* validation */
    if (pcount == 0 && pcount2 == 0 && pcount3 == 0) {
        return true;
    }
    return false;
}

$(function () {
    $('#contact_form').submit(function(e) {
        e.preventDefault();
        var form = $(this);
        var post_url = form.attr('action');
        var post_data = form.serialize();
        if ($(form).validateMyForm()) {
            /* ajax sending */
        });
    }
});
然后在需要时添加模糊事件的验证:

$("input").blur({
    $('#contact_form').validateMyForm();
});

我应该把它们放在单独的.js文件中,还是可以放在一个文件中?我也必须在模糊上调用一个类。(“input.name”).blur?或者原始的var验证_字段=$('input[rel=check');在没有发布的情况下工作。它们可以放在一个文件中,这没有问题,您可以在表单上为任何元素的模糊事件调用验证。正确。我已获得验证,可以完美地处理您指定的更改。我必须在$(“input”).blur(就在这里)中添加一个函数(){以使其正常工作。但是,使用文件中的第二个函数,验证将退出。我是否应该在那里添加一个准备就绪的文档或其他内容?也将模糊事件处理程序添加到准备就绪块中,在该块中定义了表单的提交事件处理程序。我应该将它们放在单独的.js文件中,还是将它们全部放在一个文件中?我还必须调用clas吗或原始变量验证_字段=$('input[rel=check'));在不发布的情况下工作。它们可以放在一个文件中,这没有问题,您可以为任何元素的模糊事件调用窗体上的验证。正确的。我已经获得了验证,可以完美地处理您指定的更改。我必须在$(“input”).blur中添加一个函数(){以使其正常工作。但是,使用文件中的第二个函数,验证将退出。我应该在那里添加一个准备就绪的文档还是什么?也将模糊事件处理程序添加到准备就绪块中,在该块中定义了表单的提交事件处理程序