首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JQuery表单验证不适用于新创建的元素

JQuery表单验证不适用于新创建的元素
EN

Stack Overflow用户
提问于 2010-01-27 05:02:23
回答 2查看 1.2K关注 0票数 2

我有一些关于Jquery验证插件的问题,不知道是否有人可以帮助我。

目前,该插件可以处理页面上当前的任何表单元素

代码语言:javascript
复制
    $("#addRelease").validate({
     submitHandler: function(form) {
     form.submit();
     }
   });

但是,如果我在单击按钮时动态创建表单,那么Jquery验证插件将不能用于这个新创建的元素。

代码语言:javascript
复制
    // Add release form
$(function(){
$('body#true #releases p a').click(function(){
         // Grab form using Jquery
        $.get('http://localhost:8500/mxRestore/views/viewlets/forms/ajax/a_addRelease.cfm?name_art='+name_art, function(data) { 
        // Place form returned via Jquery on page in formWrapper div        
        $('#formWrapper').html(data);
    });

    return false 
    });


});

以前有没有人遇到过这个问题,知道有什么解决办法?

非常感谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-01-27 05:07:47

在不看到代码的情况下很难说,但是在将html插入页面之后,您可能需要绑定"validate()“方法,因为#addRelease元素在用户启动ajax调用(通过单击)之后才能被jQuery找到,然后将该元素添加到页面中。

代码语言:javascript
复制
// Add release form
$(function(){
    $('body#true #releases p a').click(function(){
        // Grab form using Jquery
        $.get('http://localhost:8500/mxRestore/views/viewlets/forms/ajax/a_addRelease.cfm?name_art='+name_art, function(data) { 
            // Place form returned via Jquery on page in formWrapper div        
            $('#formWrapper').html(data);
            $("#addRelease").validate({
                submitHandler: function(form) {
                    form.submit();
                  }
            });
        });
        return false;
    });
});
票数 3
EN

Stack Overflow用户

发布于 2010-01-27 05:06:17

这是因为$("#addRelease").validate在调用它时会向您的HTML元素添加事件处理程序。在插入新元素后,必须再次调用它。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2142609

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档