0

当用户单击提交按钮时,脚本会修改页面上打印的购物车。但是,如果用户再次单击它,它将再次添加同一行,我需要停止它。

所以我只希望脚本只修改一次页面的内容,如果内容已经改变,什么也不做。

这是我尝试过的:

$(document).ready(function () {
    $(function () {
        $(".submit").click(function () {
            var a = $('.simpleCart_input').val();
            var a1 = $('.simpleCart_input').val();
            if (a1 == a + " kpl") {
                return false;
            } else {
                $('.itemRow .item-quantity').text(a + " kpl");
            }
            var b = $('.itemRow .item-price').html();
            var b1 = $('.itemRow .item-price').html();
            if (b1 == b + " /kpl") {
                return false;
            } else {
                $('.itemRow .item-price').text(b + " /kpl");
            }
            var c = $('.itemRow .item-total').html();
            var c1 = $('.itemRow .item-total').html();
            if (c1 == "Yhteensä: " + c) {
                return false;
            } else {
                $('.itemRow .item-total').text("Yhteensä: " + c);
            }
            var d = $('.simpleCart_grandTotal').html();
            var d1 = $('.simpleCart_grandTotal').html();
            if (d1 == "Tuotteet yhteensä " + d) {
                return false;
            } else {
                $('.simpleCart_grandTotal').text("Tuotteet yhteensä " + d);
            }
            var data = $('#yhteystiedot').serializeArray();
            data.push({
                name: 'cartContent',
                value: $('#emailedcart').html()
            });
            //alert (data);return false;
            $.ajax({
                type: "POST",
                data: data,
                url: "order/order.php",
                dataType: "html",
                error: function () {
                    alert("Jotakin meni pahasti pieleen! Yritä uudelleen?");
                },
                success: function () {
                    alert("Onnistui");
                }


            });
            return false;

        });
    });
});

这对我不起作用。

样本

4

2 回答 2

0

类似的东西应该有效:

$(document).ready(function () {
    var gDone = false;
    $(".submit").click(function () {
        if (gDone) return false; // already submitted
        gDone = true;
        // ...
    });
});

编辑:停用或隐藏提交按钮对用户更友好

于 2012-09-10T06:42:53.063 回答
0

您的 onclick 处理程序不可能返回 false,因为您正在比较 2 个相同的元素并期望 2 个不同的值:

var a = $('.simpleCart_input').val();
var a1 = $('.simpleCart_input').val();
if (a1 == a + " kpl") {

...所有行也是如此。a1永远不会a + " kpl",因为您对两者都进行了相同的选择,a并且a1.

于 2012-09-10T06:43:03.827 回答