0

追加するアイテムの数量を含む「カートに追加」ボタンを作成しようとして<input id="product_quantity" value="1" onChange="updateQuantity()" />、メインに追加したformので、その内部の値を変更するたびにinput、クエリパラメーターを使用してフォームのアクション URL をinputフィールドからの対応する値に更新する必要があります。

HTML での概要は次のとおりです。

<form action="index.php?option=com_virtuemart&view=cart&task=add&virtuemart_product_id[]=1&virtuemart_category_id[]=1&quantity[]=1&format=json">
    <input type="product_quantity" value="1" onChange="updateQuantity();"/>
    <input type="submit" />
</form>

では、フォームの action url パラメータ文字列をの field&quantity[]=XXXに入力された特定の値に変更するにはどうすればよいでしょうか?input

ありがとう

4

2 に答える 2

1
$('#product_quantity').change(function () {

    var quantity = $(this).val();
    var form_url = $("form").attr("action");

    form_url.replace('quantity[]=1', 'quantity[]=' + quantity)

    //submit the form
    $("form").submit();
});
于 2013-03-29T22:07:08.207 に答える
1

数量を GET パラメータとして URL に入力して JavaScript で更新しようとする代わりにname=quantity、入力フィールドに属性を入力するだけでフォームに投稿されます。一般に、フォームを投稿しているので、おそらく get ではなく POST パラメーターとしてデータを送信したいと思うでしょう。$_POST["quantity"]PHP を使用しているようですので、PHP スクリプトで使用して投稿変数にアクセスできます。

<form action="index.php?option=com_virtuemart&view=cart&task=add&virtuemart_product_id[]=1&virtuemart_category_id[]=1&format=json">
    <input type="text" name="quantity" value="1" onChange="updateQuantity();"/>
    <input type="submit" />
</form>

おそらく、他の GET パラメータもフォームの非表示フィールドに配置するでしょう。

于 2013-03-29T22:04:38.383 に答える