如何组合两个表单字段并使用jquery作为一个字段提交?

时间:2013-04-10 16:20:53

标签: jquery e-commerce velocity

好的,这是我的问题 我做了一个表格,你可以输入多个项目和数量 - 如果您需要添加更多项目,可以添加其他表单字段。

表格可在以下网址获取:https://store.jerrysnuthouse.com/wholesaleform

要让我的购物车识别提交的多件商品,需要将其作为

提交
http://store.jerrysnuthouse.com/cgi-bin/UCEditor?MerchantID=2101&ADD_ITEM=Quantity

其中项目由客户输入的数字替换,数量也被替换。

现在我有两个字段,项目和数量。提交时,它们将作为

发送
http://store.jerrysnuthouse.com/cgi-bin/UCEditor?MerchantID=2101&ADD_Item="ITEM"&quanity="Quantity"

额外的等号不能存在。

所以可能的解决方案 - 需要去除等号OR

需要为每个项目输入值并加入数量并提交 以某种方式遵循我概述的格式。

考虑创建另一个隐藏的输入并在那里加入它们......但是我需要将一个输入提交到我的购物车

非常感谢任何想法。

BTW - 可以使用jquery或velocity。

谢谢, 尼克

<!------Wholesale Form ------->


#ucTemplate("jnh_header_v2")


<head>

<script type="text/javascript">
$(function() {
var addDiv = $('#addinput');
var i = $('#addinput p').size();

$('#addNew').live('click', function() {
$('<p '+ i +'>Item#<input type="text" id="item" size="" name="ADD_" value="" placeholder="I am New item" />Quantity#<input type="text" id="quantity" name=""  value="" placeholder="I am New quantity" /><a href="#" id="remNew">Remove</a> Or <a href="#" id="addNew">Add</a> </p>').appendTo(addDiv);
i++;

return false;
});

$('#remNew').live('click', function() {
if( i > 2 ) {
$(this).parents('p').remove();
i--;
}
return false;
});
});
</script>

</head>




 #set($itemFormSubmitUrl = "http://store.jerrysnuthouse.com/cgi-bin/UCEditor?")
                            <form action="$itemFormSubmitUrl" method="get" id="wholesale_form">
  <input type="hidden" name="MerchantID" value="${merchantID}">
<div id="addinput">
<p>
Item#<input type="text" id="item" size="20" name="ADD_" value="" placeholder="Item #" />  Quantity:<input type="text" id="quantity" size="20" name="" value="" placeholder="Quantity" /><a href="#" id="addNew">Add</a>
</p>
</div>



<div id="addtocart" style="float:left;"><input type="submit" value="add to cart"/></div>
</form>



</div>

2 个答案:

答案 0 :(得分:0)

似乎有几件事需要修复。

#addNew的点击处理程序中的行可能如下所示:

$('<p '+ i +'>Item#<input type="text" name="ADD_ITEM" value="Quantity" placeholder="I am New item" />Quantity#<input type="text" placeholder="I am New quantity" /><a href="#" id="remNew">Remove</a> Or <a href="#" id="addNew">Add</a> </p>').appendTo(addDiv);

请注意,具有相同id属性的多个元素无效,这可能会导致问题。您可能希望使用类。请参阅my other question

另外,你想用'<p '+ i +'>...'部分做什么?这将输出类似<p 1><p 2>的内容。我认为将数字作为属性名称是不合理的。

答案 1 :(得分:0)

我假设您必须重定向到上面的网址。在这种情况下,您可以在javascript中将网址格式化为字符串,并将值分配给location.href

location.href = 'http://store.jerrysnuthouse.com/cgi-bin/UCEditor?MerchantID=2101&ADD_ITEM=Quantity';

这将提交数据并重定向到页面。