我尝试在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>
答案 0 :(得分:4)
您正尝试在两个地方提交数量 - 请检查您的网址(表单操作)。 如果您需要,可以从URL中删除数量或重命名其中一个。
答案 1 :(得分:0)
您可以随时尝试
var value = $("input[name=quantity]").val();
或者尝试将var值移动到click函数
$(".submit").click(function(e){
e.preventDefault();
var value = $("input[name=quantity]").val();
$('form#formProduct').submit()
});