jQuery帖子上没有任何事情发生

时间:2012-02-23 16:30:10

标签: jquery html css ajax post

以下是我的jQuery函数,用于将姓名,密码和电子邮件的值发布到register.php,然后在register.php的{​​{1}}中显示回显的消息。

然而,当我点击div#message没有任何反应时,控制台没有点击日志。

的jQuery

postBtn

这是输入所有数据的HTML块,但单击按钮$(document).ready(function() { $("#btnPost").on("click", function() { console.log('clicked'); var thisBtn = $(this); var parent = thisBtn.parent(); name = parent.data('name'); password = parent.data('password'); email = parent.data('email'); $.post( 'register.php', { name: ('name'), password: ('password'), email: ('email') }, function(data) { parent.next('#message').html(data); } ); }); }); 时似乎没有任何事情发生。

#postBtn

3 个答案:

答案 0 :(得分:0)

我使用相同的语法给自己一个类似的问题,我重新尝试了以下几行,它解决了问题....

尝试:

$(document).on("click", "#btnPost", function() { //implementation });

您可以将$(document)更改为包含div的名称,或更低级别的内容,只要其中包含#btnPost

答案 1 :(得分:0)

检查源(HTML)中包含的jQuery库文件的顺序。首先是jQuery库文件,然后是你的javascript文件。看来你的代码在jsfiddle中正常工作。其中一个原因可能是jQuery文件不存在或加载顺序可能不匹配。

答案 2 :(得分:0)

您的问题是您使用.next(),它返回当前元素的下一个兄弟。而且由于你传递了一个选择器,如果下一个兄弟满足选择器,你只会得到一个结果,否则你什么也得不到。只需使用$("#message"),因为#message不是您按钮的父元素之后的下一个兄弟。

$.post( 
    'register.php',  
    {  
        name: ('name'),  
        password: ('password'),  
        email: ('email') 
    },           
    function(data) { 
        $('#message').html(data); 
    } 
);