-1

我有一个提取 PHP 文件的 javascript 编码,如果它更新数据库,它将回显 Success: Age Updated!它可以正常工作,但是当我多次单击它时,它会开始执行此操作.. 成功:年龄改变了!成功:年龄变了!成功:年龄变了!.. 这是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 ?>)" />
4

3 回答 3

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);
            }
        });
    }
}
于 2013-04-25T23:07:12.577 回答
1

问题是你继续追加,改为更改内容(只需更改appendhtml

$("#UpdatedAge").html(updateage);
于 2013-04-25T23:07:34.780 回答
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 那样将其附加到内容中。

于 2013-04-25T23:07:51.480 回答