1

所以我有一个按钮,它将根据其 ID 调用 AJAX 函数。在这里,它从 PHP 文件中提取信息(一个 html 表单)。这几乎是一个简单的形式。它完美加载。我在它加载到的主 html 文件中也有这个表单的函数。出于测试目的,我只希望它防止被提交并在表单下方附加一个测试短语。不幸的是,这不起作用。我尝试将表单海峡放入 html 文件而不通过 AJAX 加载它并且它可以工作,表单不提交并且它输出消息。

这是我单击按钮时的代码,它被告知将表单添加到 div 中:

$("#zip-search-button").click(function(e){ 
            e.preventDefault();

            if ($("#thezip").val() != "") {
                $.post("http://website.com/app/deal.php", {zip : $("#thezip").val(), radius : $("#radius").val()}, function(data){
                    if (data.length > 0) { 
                        // Here we add the form
                        $( "#results" ).html( data );
                    } 
                });
            }
        });

这是我提交表单时的代码:

$("#buy-now1").click(function(e){ 
                e.preventDefault();

                $( "#results" ).append( "Hiiiiiii, This is a test!" );
            });

知道为什么通过 AJAX 加载表单时表单功能不起作用吗?

所有这些 javascript 都位于主 html 文件中 body 标记的底部。

4

4 回答 4

1

查看.onjquery 文档。基本上,由于页面加载时您的表单不存在,因此未附加您的事件处理程序。使用 .on 将侦听器附加到将在文档加载时存在的父元素,您将成为黄金。

于 2013-10-25T01:56:48.810 回答
1

当文档准备好时绑定你的事件:

$(document).ready(function(){
      $("#buy-now1").click(function(e){ 

                 e.preventDefault();
                 $( "#results" ).append( "Hiiiiiii, This is a test!" );
       });
});
于 2013-10-25T02:05:35.690 回答
0

为什么不将您的提交按钮更改为一个按钮?您的表单提交不再有问题。

<button type="button" onclick="yourfunction();">Click Me</button>
于 2013-10-25T01:53:33.173 回答
0
$("#zip-search-button").click(function(e){ 
    e.preventDefault();
    if ($("#thezip").val() != "") {
        $.post("http://website.com/app/deal.php", {zip : $("#thezip").val(), radius : $("#radius").val()}, function(data){
            if (data.length > 0) { 
                $("#results").html(data);
                $("#buy-now1").click(function(e){ 
                    e.preventDefault();
                    $("#results").append("Hiiiiiii, This is a test!");
                });
            } 
        });
    }
});
于 2013-10-25T02:05:39.323 回答