我想使用“自定义”隐藏表单字段将一些自定义数据发送到Paypal Checkout。当不使用SimpleCart.js时,这就像将其附加到html表单一样简单:
<input type="hidden" name="custom" value="My Custom data">
知道如何使用simplecart实现同样的目标吗?
查看源代码,我可以看到表单的创建/提交位置。
generateAndSendForm: function (opts)
{
var form = simpleCart.$create("form");
form.attr('style', 'display:none;');
form.attr('action', opts.action);
form.attr('method', opts.method);
simpleCart.each(opts.data, function (val, x, name)
{
form.append(
simpleCart.$create("input").attr("type","hidden").attr("name",name).val(val)
);
});
simpleCart.$("body").append(form);
form.el.submit();
form.remove();
}
因此,我可以修改此代码以使其正常工作,但我确信必须有更好的方法。有人有什么想法吗?
答案 0 :(得分:1)
在简单的购物车中添加额外的东西需要添加一个简单的类......
例如,
<input type="hidden" name="custom" value="My Custom data" class="item_customdataname">
注意我的课程和命名法。 “item_customdataname”。
然而,由于simplecart的性质,我推荐以下内容;
<span style="display: none;" class="item_customdataname">My Custom data</span>
不是说使用隐藏输入不起作用......
电子
答案 1 :(得分:0)
generateAndSendForm:
用于生成一个表单(最有可能)将数据POST到后端
您想要关注的是:
simpleCart.extendCheckout({
PayPal: function (opts) {
[...]
您可能想要添加:
if (opts.custom) {
data.custom = opts.custom;
}
在通知的等价物之后的某处:
if (opts.notify) {
data.notify_url = opts.notify;
}
我没有亲自测试过,但它应该完全按照您的需要进行测试