PHP内部的jQuery Ajax调用

PHP内部的jQuery Ajax调用,php,jquery,ajax,Php,Jquery,Ajax,我在这里显然做错了什么,但我不明白为什么Ajax没有启动,而是坚持页面加载。newBatable()启动得很好,我似乎无法获得尊重ajax调用的投票 HTML-不知道如何将HTML作为代码放在这里:/-我觉得自己很笨 <form class="form-horizontal" id="batable1" action="vote.php" method="GET"> <div id="success-vote-1"></div> <inp

我在这里显然做错了什么,但我不明白为什么Ajax没有启动,而是坚持页面加载。newBatable()启动得很好,我似乎无法获得尊重ajax调用的投票

HTML-不知道如何将HTML作为代码放在这里:/-我觉得自己很笨

<form class="form-horizontal" id="batable1" action="vote.php" method="GET">
    <div id="success-vote-1"></div>
    <input type="radio" name="batableResult" value=" include ()" /> include ()<br/>
    <input type="radio" name="batableResult" value="require ()" />require ()<br/>
    <input type="radio" name="batableResult" value="both of above" />both of above<br/>
    <input type="radio" name="batableResult" value="None of above" />None of above<br/>
    <button class="btn btn-primary" onClick="vote(1)">Vote</button>
    <input type="hidden" name="batableId" id="batable-id" value="1"/>
</form>

submit按钮触发JavaScript,然后立即提交表单

如果使用的是
onclick
,则
返回false
以停止该操作


不过,您最好使用提交按钮。

提交按钮触发JavaScript,然后立即提交表单

如果使用的是
onclick
,则
返回false
以停止该操作


您最好使用一个按钮。

通过jquery将单击事件附加到按钮上如何

$(".btn").on('click', function(e){
    e.stopPropagation()
    e.preventDefault();
    vote(1);
});
这通常会放在外部文件的document.ready jquery中,或者放在脚本标记内页面底部附近的某个地方


这有帮助吗?

如何通过jquery将单击事件附加到按钮上

$(".btn").on('click', function(e){
    e.stopPropagation()
    e.preventDefault();
    vote(1);
});
这通常会放在外部文件的document.ready jquery中,或者放在脚本标记内页面底部附近的某个地方


这有帮助吗?

既然您已经在使用jQuery,那么您应该使用jQuery的on()方法,停止事件传播并阻止默认操作(提交表单)

我还注意到您的代码中可能存在一个bug。看起来有个打字错误。你有

var batable_success_id = "#success-vote" + poll_id;

。例如,当您将
batable_success_ID
连接到
#success-vote1
中时,在
div
的ID中有一个破折号。因此,即使进行了AJAX调用,它也可能不会像您期望的那样更新HTML。

因为您已经在使用jQuery,作为实体,您应该使用jQuery的on()方法,停止事件传播并阻止默认操作(提交表单)

我还注意到您的代码中可能存在一个bug。看起来有个打字错误。你有

var batable_success_id = "#success-vote" + poll_id;

。例如,当您将
batable_success_ID
连接到
#success-vote1
中时,在
div
的ID中有一个破折号。因此,即使进行了AJAX调用,它也可能不会像您期望的那样更新HTML。

谢谢您的帮助!我不敢相信我错过了“-”。它肯定不会更新:/-我也在用鼠标点击按钮-我希望在添加破折号后它会工作-没有用。不过还是谢谢你——以后我就不会头疼了!谢谢你的接球!我不敢相信我错过了“-”。它肯定不会更新:/-我也在用鼠标点击按钮-我希望在添加破折号后它会工作-没有用。不过还是谢谢你——以后我就不会头疼了!真见鬼,是这样的!:)非常感谢。我是否应该将jQuery改为引用@Quentin的现代事件绑定技术。该链接看起来像是通过javascript而不是jQuery进行事件绑定。就个人而言,我是Jquery的忠实粉丝,所以我会坚持上面的内容。单击,但这确实是你的首选。仅供参考,'e.PreventPropagation()'告诉jquery防止点击冒泡到页面上的其他项目上,'e.preventDefault()'告诉jquery停止.btn执行其默认操作(例如,当你点击一个链接时,它会尝试去某个地方,但这会阻止它去href,并迫使它去使用通过jquery中的点击事件设置的任何内容)谢谢-它工作得很好。传播是有道理的,但我对默认设置感到困惑()-谢谢你的澄清。我坚持jquery;)见鬼,是的非常感谢。我是否应该将jQuery改为引用@Quentin的现代事件绑定技术。该链接看起来像是通过javascript而不是jQuery进行事件绑定。就个人而言,我是Jquery的忠实粉丝,所以我会坚持上面的内容。单击,但这确实是你的首选。仅供参考,'e.PreventPropagation()'告诉jquery防止点击冒泡到页面上的其他项目上,'e.preventDefault()'告诉jquery停止.btn执行其默认操作(例如,当你点击一个链接时,它会尝试去某个地方,但这会阻止它去href,并迫使它去jquery中通过点击事件设置的任何内容)谢谢-它工作得很好。传播是有道理的,但我对默认设置感到困惑()-谢谢你的澄清。我坚持jquery;)我正在考虑实现现代事件绑定技术,但返回false确实解决了问题-我使用了@SubstanceD中的技术我正在考虑实现现代事件绑定技术,但返回false确实解决了问题-我使用了@SubstanceD中的技术