0

カスタムの magento モジュールを作成しようとしていますが、1 つの問題を除いてすべてが完全に機能しており、完全に機能しています。

モジュールは、4 つのラジオ ボタンを持つフォームです。チェックアウトページではすべて空白で、いずれかをクリックするとフォームが送信され、小計に「追加料金」が含まれるカートページがリロードされるように設定しています.

私の問題は、ページの読み込み時に「自動送信」する最初のオプションが必要なことです。しかし、私はさまざまなことを試しましたが、jquery .submit() 関数を使用してフォームを一度だけ送信する方法を思いつくことができません。無限ループでページをロードすることを除いて、今では私が望むように動作します。

submit() を一度だけ言う方法はありますか?

4

1 に答える 1

1

追加の送信/更新サイクルを使用するのではなく、デフォルトのラジオボタンをサーバー側に設定しますが、クライアント側で行うことを主張する場合...

その後の更新では、以前の選択が保持されると思います(サーバー側のコードが以前に選択した値をエコーバックするためですか?)ので、ラジオがチェックされているかどうかをテストできますか?自動送信?

$(document).ready(function() {    
    var $radios = $('#yourFormId input[name="yourRadioButtonGroupName"]');

    if (!$radios.is(":checked")) {
       // No radios currently checked, so check the first and submit
       $radios.eq(0).prop("checked",true);
       $("#yourFormId").submit();
    }
});

この.is()メソッドは、「現在一致している要素のセットをセレクター、要素、または jQuery オブジェクトに対してチェックし、trueこれらの要素の少なくとも 1 つが指定された引数と一致する場合に戻ります。」

于 2012-07-02T01:24:50.667 に答える