1

我尝试以 eric martins 简单模式提交表单。一切正常,只是表单没有提交我在文本字段中输入的数量。有没有人对此有一个巧妙的解决方案?

我的 Jquery 已更新以获得更好的视图,如下面的帖子中所述

 <script type="text/javascript">
 function image_id_convert(image_id)
 {
image_id = parseInt(image_id, 10).toString(35);
while (image_id.length < 6)
{
  image_id = 'z' + image_id;
}
return image_id;
}

$('.opener').click(function (event) {

  var url = $(this).attr("href")+'/?format=json';

  $('#formVariants').modal({
    onOpen: function (dialog) {
            dialog.overlay.fadeIn('fast', function () {
                dialog.container.slideDown('fast', function () {
                    dialog.data.fadeIn('fast');
                });
            });
        },
    onShow:function(dialog) {      

      $.getJSON(url, function(data) {           

        var contentHtml = '';

        $.each(data.product, function(index, product){

          var image = 'http://cdn.webshopapp.com/i/' + image_id_convert(data.product.image) + '/160x120x2/image.jpg';

          contentHtml =
            '<img src="' + image + '"/>' +
            '<div class="variantsContainer">' +
            '<div class="pop_headerContainer">' +  
            '<div class="pop_title"><h3>' + data.product.fulltitle + '</h3></div>' +
            '<div class="pop_code">Artikelcode:' + data.product.code + '</div>' +
            '<div class="pop_price">€' + data.product.price.price + '</div>' +
            '</div>';
        });

         $.each(data.product.variants, function(index, variant){     

          contentHtml = contentHtml +
            '<form class="formProduct" id="formProduct">' +
            '<div class="variants">' +
            '<div class="pop_variantTitle"><label>' + variant.title + '</label></div>' +
            '<div class="pop_variantQuantity"><label">{{ 'Quantity' | t }}: <input type="text" name="quantity" id="formProductQuantity" value="50" /></label></div>' +
            '<div class="pop_variantAdd"><input type="submit" id="submit" class="button green" value="{{ 'Add to cart' | t }}"/></div>' +
            '</form>';

          contentHtml = contentHtml +
            '</div>';       
           // action="{{ 'cart/add/' | url }}' + variant.id + '" method="post"
           /* quantity = $('#formProductQuantity').val();
           $('#formProductQuantity').val(quantity);*/

         });     

        $('.formProductContent').html(contentHtml);            
      });  
    }

  });
  return false
})

</script>
4

2 回答 2

4

您正在尝试在两个地方提交数量 - 检查您的 URL(表单操作)。如果您需要两者,请从 URL 中删除数量或重命名其中之一。

于 2012-08-03T13:16:47.340 回答
0

你可以随时尝试

var value = $("input[name=quantity]").val();

或者尝试将 var 值移动到 click 函数中

$(".submit").click(function(e){
    e.preventDefault();

    var value = $("input[name=quantity]").val();
    $('form#formProduct').submit()
});
于 2012-08-03T13:27:19.513 回答