模态中的多个动态形式但如何提交?

时间:2012-08-09 12:35:21

标签: jquery forms

我完全坚持这个。我真的不知道该怎么做,所以如果有人愿意帮助我,有一些例子或指出我在一些非常有用的方向。

情况就是这样:

我有一个模态(eric martins simplemodal)窗口,其中一些窗体生成了一些JSON细节。这是通过以下代码完成的:

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

          contentHtml = contentHtml +
            '<div id="form">' +
            '<form class="formProduct" id="formProduct'+variant.id+'" action="#" >' +
            '<div class="variants">' +
            '<div class="pop_variantTitle"><label><input type="hidden" id="variantId" name="'+ variant.id + '" value="' + variant.id + '" />' + variant.title + '</label></div>' +
            '<div class="pop_variantQuantity"><label">{{ 'Quantity' | t }}: <input type="text" name="quantity" id="formProductQuantity" value="1" /></label></div>' +
            '<div class="pop_variantAdd"><a class="button green submit" href="#"><span>{{ 'Add to cart' | t }}</span></a></div>' + //
            '</div>' +
            '</form>' +
            '</div>';
         });     
        $('.formProductContent').html(contentHtml);
      });         
    }})
  return false;
  })

  $().ready(function(){

var form = $('form').attr('id');

$(form).submit(function() { return false; });

$(".submit").live("click", function(){

var quantity = $("#formProductQuantity").val();
var variant = $("#variantId").val();

$(".submit").replaceWith("send...");

$.ajax({
type: 'POST',
url: '{{ 'cart/add/' }}'+variant+'/?quantity='+quantity+'',
data: $(form).serialize(), //"formProduct"
success: function(data) {
/*if(data == "true") {
$(form).fadeOut("fast", function(){
$(this).before("<p><strong>Success! Your feedback has been sent, thanks :)</strong></p>");
setTimeout("$.fancybox.close()", 1000);
});
}*/
 }
});
});
});

脚本本身很好用。 我知道要提交这些表单,我必须使用唯一的ID或唯一的提交按钮。我尝试过各种各样的东西,但我只能提交第一张表格。任何人都可以帮我提供一些指示或示例或一切可以帮助我的事情;)

1 个答案:

答案 0 :(得分:1)

变化

$(".submit").live("click", function(){
    //code
}

$(".submit").each(function(){
    $(this).live("click", function(){
        //code
    }
});

.class选择器返回所有类,但您需要处理它们。对于您的代码,它只适用于找到的第一个.class。