テキスト入力フィールドの値(数量)をURLに追加しようとしています。もちろん、これを機能させることはできません。
私が持っているのは:
<form class="formProduct" id="formProduct" action="#" method="post">
<input type="text" name="quantity" id="formProductQuantity" value="{{ product.stock.minimum }}" /> // text field with quantity
<a class="button blue opener" href="" title="{{ 'Add to cart' | t }}"><span>{{ 'Add to cart' | t }}</span></a> // submit button
</form>
<script>
var addUrl = "http://shop.com/cart/add/123456/?quantity="; // 123456 is the product id
asset("#formProduct");
function asset(product){
$(product + " input#formProductQuantity").val("1");
$(product + " #formProductQuantity").keyup(function () {
var val = $(product + " input#formProductQuantity").first().val();
});
$(product + " .opener").click(function() {
var val = $(product + " input#formProductQuantity").first().val();
// Go to page
window.location.href = addUrl + val;
});
}
</script>
したがって、私が試しているのは、フォームに入力された数量を渡して、たとえばhttp://shop.com/cart/add/123456/?quantity=100に渡すことです。上記のコードはこのフォーラムで見つけましたが、これを機能させることができません。
それ以上の助けは歓迎します
アップデート
ここですべての助けを借りて、私はそれを機能させました。コメントや変更は大歓迎です。関数コードは次のようになります。
<script type="text/javascript">
var addUrl = "http://shop.com/cart/add/123456/?quantity="; // 123456 is the product id
jQuery(document).ready(function(){
asset("#formProduct");
});
function asset(product){
jQuery(product + " input#formProductQuantity").val("1");
jQuery(product + " #formProductQuantity").keyup(function () {
var val = jQuery(product + " input#formProductQuantity").first().val();
});
jQuery(product + " .opener").click(function(event) {
event.preventDefault();
$.get($(this).attr('href'), function(data, status) {
var val = jQuery(product + " input#formProductQuantity").first().val();
// Go to page
window.location.href = addUrl + val;
$( "#dialog" ).dialog( "open" );
return false;
});
})}