所以我有一个按钮可以根据其 ID 调用 AJAX 函数。在这里它从 PHP 文件中提取信息(html 表单)。这是一个非常简单的表格。它完美加载。我在加载到的主 html 文件中也有此表单的函数。出于测试目的,我只希望它防止被提交并在表单下方附加一个测试短语。不幸的是,这不起作用。我尝试将表单 strait 放入 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 标签的底部。
最佳答案
Check out .on
in the jquery docs.基本上,由于加载页面时您的表单不存在,因此未附加您的事件处理程序。使用 .on 将监听器附加到将在文档加载时存在的父元素,您将获得成功。
关于javascript - JQuery AJAX 加载使用 AJAX 的表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19579785/