0

更新一些代码库并遇到一个我似乎无法克服的问题。我已经阅读了 .on 文档,并觉得我对它有足够的了解。登录时通过 ajax.load 引入表单。没有问题。在一个简单的设置中,例如:

<div id="FXCMForm">
    <form action="processor.php" method="post" id="Form1">
        <ul>
            //other li's
            <input type="submit" id="Button1" value="Create License Key" />
            //other li's            
        </ul>
        <div id="Msg1" class="error"><a class="close">X</a><ul></ul></div>
    </form>
</div>

使用 .live 的旧代码是这样的

$("#Button1").live('click',function(){
$("#Form1").validate({
    errorContainer: "#Msg1",
    errorLabelContainer: "#Msg1 ul",
    errorElement: "li",
    submitHandler: function(form) {
        $('#prcs1').show();
        var dataString = $(form).serialize();
        $.ajax({
            //ajax success stuff
        } else {
             //ajax fail stuff
        }
    });return false;
    },
    rules: {//rules},
    messages: {//messages}
    });
});

尝试像这样使用 new(ish) .on 调用

$("#FXCMForm").on("click", "#Button1", function(event){
    $("#Form1").validate({
 //all other stuff here   
 });

我已经调用了包含动态元素#FXCMForm、事件类型“click”和触发它的元素“#Button1”的容器,但是当我单击时,它只是将返回的 PHP 数据转储到一个空白页面中,而不是做任何 ajax 的东西. 有任何想法吗?谢谢你

4

1 回答 1

0

显然使用“body”作为根元素就可以了。嗯

于 2013-02-08T22:07:27.617 回答