Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/384.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 验证不需要';使用jQuery添加输入后无法工作_Javascript_Jquery - Fatal编程技术网

Javascript 验证不需要';使用jQuery添加输入后无法工作

Javascript 验证不需要';使用jQuery添加输入后无法工作,javascript,jquery,Javascript,Jquery,单击添加输入并添加输入后,单击添加按钮不会调用$('.submit').submit(函数(){…)中的required\u valid()函数 演示: $('.add_input').live('click',函数(e){ e、 预防默认值(); $('.get_input')。追加('单击我') }) 所需函数\u valid(){ var结果=真; $('.required')。每个(函数(){ if(!$(this.val()){ $(this.css(“背景”,#ffc4c4”);

单击添加输入并添加输入后,单击添加按钮不会调用
$('.submit').submit(函数(){…
)中的
required\u valid()
函数

演示:


$('.add_input').live('click',函数(e){
e、 预防默认值();
$('.get_input')。追加('
单击我') }) 所需函数\u valid(){ var结果=真; $('.required')。每个(函数(){ if(!$(this.val()){ $(this.css(“背景”,#ffc4c4”); 结果=假; } $(此).keyup(函数(){ $(this.css(“背景”和“#FFFFEC”); }) }); 返回结果; } $('.submit').submit(函数(){ var通过=真; //已通过=必需的\u selectbox()&&passed; 已通过=必需的\u valid()&&passed; 如果(!通过){ $('loadingDiv,#overlay').hide(); 返回false; } });
您需要使用“.live()”(.delegate()”或新的“.on()”)设置“提交”处理程序,就像“addInput”按钮一样:

您正在动态添加这些表单,因此您的处理程序实际上并不绑定到任何表单


或者,您可以在添加表单时绑定处理程序。

很抱歉,我没有得到确切不起作用的内容。提交请求时出现提交错误。这就是您所指的吗?如果您使用的是jQuery 1.7,您应该使用
.On()
如果您使用的是jQuery<1.7,您应该使用
.delegate()
。不要使用
.live()
,因为它比其他版本慢得多。是的,这是真的-我还没有达到1.7,所以我不知道“.on()”语法:-)我必须升级到1.7版本,因为WebKit会出错。否则的话,我会用其他函数在代码中添加它,但不会使用我的代码,请看我的演示:这里没有名为“autocomplet\u valid”的函数。你应该使用调试工具,因为它会准确地告诉你这一点。
<a href="" class="add_input">Add Input</a>
<div class="get_input"></div>



$('.add_input').live('click', function(e){
    e.preventDefault();
    $('.get_input').append('<form class="submit"><input name="test" class="required"> <br /> <button>Click Me</button></form>')
})
function required_valid() {
    var result = true;
    $('.required').each(function () {
        if (!$(this).val()) {
            $(this).css("background", "#ffc4c4");
            result = false;
        }
        $(this).keyup(function () {
            $(this).css("background", "#FFFFEC");
        })
    });
    return result;
}

$('.submit').submit(function () {
    var passed = true;
    //passed = required_selectbox() && passed;
    passed = required_valid() && passed;
    if (!passed) {
        $('#loadingDiv, #overlay').hide();
        return false;
    }
});
$('body').delegate('.submit', 'submit', function() {
  // your submit code here
});