php 投票 不刷新,php – Ajax投票调查直接工作,但不是通过第二次ajax调用

博主在index.php中通过AJAX加载poll.php中的投票表单,表单提交时应使用AJAX更新内容,但目前点击提交导致页面刷新且未执行vote.php。问题在于直接访问poll.php时功能正常,而通过index.php加载则失效。
摘要由CSDN通过智能技术生成

如果标题有点不清楚,我道歉.基本上,问题在于:我有一个投票民意调查表格,该表格在一个名为poll.php的文件中生成.所以,如果我去/poll.php,它会告诉我民意调查.我不包括表单代码,因为它没有任何可能导致此问题的东西,因为它只有单选按钮,文本和提交按钮.我已将表单配置为使用ajax,因此当我单击“提交”时,它会提交表单,在数据库中查询最新数据并以图形形式将其显示给用户而不刷新页面.

以下是运行以启用ajax的javascript代码:

$('body').on('submit', '#votePoll', function() {

$.get("/vote.php", $(this).serialize(), function(data) {

$("#content").html(data);

});

return false;

});

如代码所示,表单的id设置为“votePoll”.正如我之前所说,如果我只是去poll.php,选择一个单选按钮并点击提交,它将执行上面的代码并正常工作.插入第二个ajax阶段时会出现问题.

显示网页的主文件名为index.php.

在index.php中,我运行以下javascript代码来获取在poll.php中创建的表单并显示它:

$(function() {

var pollContainer = document.getElementById('pollContainer');

$.ajax({

url:"/poll.php",

type:"POST",

success:function(msg){

pollContainer.innerHTML = msg;

}

});

})

如您所见,表单也是通过ajax获取的.注意:在index.php中存在一个DIV容器,其中加载了表单,如上面的javascript代码中所述.它被命名为“pollContainer”.

接下来,当代码执行时,表单(可以在poll.php中看到)显示在index.php里面的div容器中.

现在,我的目标是使其工作方式与我直接使用poll.php时的工作方式相同,但是在容器内部使用ajax工作并以poll.php中的方式更新div内容.

然而,问题在于,每当我点击“提交”时,不仅页面只是刷新而且什么也不做,但它也没有考虑到投票并运行“vote.php”.

以下是生成表单的poll.php文件的一部分(显示在index.php的div容器中):

print "

{$qTitle}

{$q1}

{$q2}

{$q3}

";

该文件中的其余代码和变量q1等不包含在此代码中,但他们的工作是从数据库中检索信息并显示它.

令我困惑的是,为什么代码在直接转到poll.php和投票时工作正常,但在以index.php中显示的形式进行时却无效.

如果我犯了一些错误或忘记添加内容,请告诉我.

更新:上面发布的两个JS代码块都在index.php页面内引用的单独文件中.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值