0

ユーザーが送信ボタンをクリックすると、スクリプトはページに印刷されているショッピングカートを変更します。ただし、ユーザーがもう一度クリックすると、同じ行が再び追加されるため、停止する必要があります。

したがって、スクリプトでページのコンテンツを1回だけ変更し、コンテンツがすでに変更されている場合は何もしないようにします。

これが私が試したことです:

$(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

2 つの同じ要素を比較し、2 つの異なる値を期待しているため、onclick ハンドラーが false を返す可能性はありません。

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

...同じことがすべての行に当てはまります。との両方に対して同じ選択を行っているため、 にa1なることはありません。a + " kpl"aa1

于 2012-09-10T06:43:03.827 に答える