Javascript多次发布

时间:2013-04-25 23:03:20

标签: php javascript

我有一个javascript编码,可以提取PHP文件,如果它更新数据库,它将回显成功:年龄更新!它可以工作,但是当我多次点击它会开始这样做.Sucsess:年龄改变了! Sucsess:年龄改变了! Sucsess:年龄改变了! ..这是Javascript。

function UpdateAge(Age) {
    var newage = $("#NewAge").val();
    var dataString = 'newage=' + newage;
    if (newage.length < 2) {
        $('#Required').fadeIn(300);
        $('#Mask').fadeIn(300);
    } else {
        $.ajax({
            type: "POST",
            url: "update_age.php",
            data: dataString,
            cache: false,
            success: function (updateage) {
                $("#UpdatedAge").append(updateage);
                $("#UpdatedAge").show().fadeOut(1200);
            }
        });
    }

}

我如何才能显示成功:年龄更新!一次,而不是每次我点击它只是倍增? 这是onClick的按钮

<input type="submit" value="Update" onClick="UpdateAge(<?php echo $age ?>)" />

3 个答案:

答案 0 :(得分:1)

您似乎每次都需要清空#UpdatedAge元素。

function UpdateAge(Age) {
    var newage = $("#NewAge").val();
    var dataString = 'newage=' + newage;
    if (newage.length < 2) {
        $('#Required').fadeIn(300);
        $('#Mask').fadeIn(300);
    } else {
        $.ajax({
            type: "POST",
            url: "update_age.php",
            data: dataString,
            cache: false,
            success: function (updateage) {
                $("#UpdatedAge").empty();
                $("#UpdatedAge").append(updateage);
                $("#UpdatedAge").show().fadeOut(1200);
            }
        });
    }
}

答案 1 :(得分:1)

问题是你要不断添加内容,而是更改内容(只需将append更改为html

$("#UpdatedAge").html(updateage);

答案 2 :(得分:1)

只需使用

function UpdateAge(Age) {
    var newage = $("#NewAge").val();
    var dataString = 'newage=' + newage;
    if (newage.length < 2) {
        $('#Required').fadeIn(300);
        $('#Mask').fadeIn(300);
    } else {
        $.ajax({
            type: "POST",
            url: "update_age.php",
            data: dataString,
            cache: false,
            success: function (updateage) {
                $("#UpdatedAge").html(updateage);
                $("#UpdatedAge").show().fadeOut(1200);
            }
        });
    }
}

由于.html会替换#UpdatedAge的内容而不会将其附加到内容中,就像.append一样。