.click功能不起作用

时间:2012-01-17 19:25:49

标签: javascript jquery

我有一个用于评论系统的JavaScript,但是当我点击提交按钮时带有类名" com_submit"除了页面重新加载之外没有任何反应。即使我将表单留空并提交警报也应弹出,但它不是。我做错了什么?

这是我的代码:

$(function() {

$('.com_submit').live("click", function() {
    var comment = $("#comment").val();
    var user_id = $("#user_id").val();
    var perma_id = $("#perma_id").val();
    var dataString = 'comment='+ comment + '&user_id='+ user_id + '&perma_id=' + $perma_id;
    if(comment=='') {
        alert('Please Give Valid Details');
    }
    else {
        $("#flash").show();
        $("#flash").fadeIn(400).html('<img src="ajax-loader.gif" />Loading Comment...');
        $.ajax({
            type: "POST",
            url: "commentajax.php",
            data: dataString,
            cache: false,
            success: function(html){
                $("ol#update").append(html);
                $("ol#update li:first").fadeIn("slow");
                $("#flash").hide();
            }
        });
    }
    return false;
});
});

我尝试过使用.click,.live和.bind这些工作

2 个答案:

答案 0 :(得分:2)

您的代码中存在拼写错误,因为它发生了运行时错误并且页面重新加载,因为它是一个链接。

var perma_id = $("#perma_id").val();


$(function() {

$('.com_submit').live("click", function() {
    var comment = $("#comment").val();
    var user_id = $("#user_id").val();
    var perma_id = $("#perma_id").val();
    var dataString = 'comment='+ comment + '&user_id='+ user_id + '&perma_id=' 
     + perma_id;//<<<------ Here was the typo(You have used $perma_id)
    if(comment=='') {
        alert('Please Give Valid Details');
    }
    else {
        $("#flash").show();
        $("#flash").fadeIn(400).html('<img src="ajax-loader.gif" />Loading Comment...');
        $.ajax({
            type: "POST",
            url: "commentajax.php",
            data: dataString,
            cache: false,
            success: function(html){
                $("ol#update").append(html);
                $("ol#update li:first").fadeIn("slow");
                $("#flash").hide();
            }
        });
    }
    return false;
});
});

答案 1 :(得分:0)

这是按预期工作的。换句话说,您的提交按钮正在提交。你想要做的是停止正常的行为。试试这个:

$('.com_submit').live("click", function(e) {
e.preventDefault();
.
.
.

代码顶部。