在dotnetnuke Html模块中实现paypal添加到购物车按钮代码

时间:2011-02-08 05:46:22

标签: dotnetnuke

您好 我有一个dotnetnuke网站。在我的网站上,我想在HTML模块中放置两个paypal添加到购物车按钮。它仅适用于一个按钮。我删除了单击按钮时提交的表单标签和表单。但我需要放两个按钮。有没有人知道这个?

谢谢

1 个答案:

答案 0 :(得分:2)

听起来你已经解决了这个问题 - 但是对于正确的背景:这里是Mitchel Sellers blog post关于这个主题的相关文字:

  

在DNN中包含HTML表单   首先需要注意“行动”   在中设置的属性   标签。一旦你知道这个动作你   将要删除开头和   关闭表格标签。现在,在HTML中   源位置提交按钮   (或类似的)。   然后在标记内添加以下内容   声明。

     

的onClick = “this.form.action = 'YourUrlHere'; this.form.submit();”   务必将您的Action URL置于原地   “YourUrlHere”文本。这说明   提交的HTML表单   按钮被单击它应该   更改表单操作,这将   阻止ASP.NET回发然后它   实际上将表单提交给新的   URL。

     

这为您提供快速可靠的服务   提交HTML表单的方法   外部网站。这不是最好的   解决方案作为其他输入项目   当前页面将提交给   但是,通常是行动页面   不是太大的问题。

这是一个更具参与性的方法/示例我想出了使用jQuery来解决你的问题:

<p class="item">
  Buy <span class="name">A Product</span> for $<span class="price">9.99</span>
  <input type="image" src="https://www.paypal.com/en_US/i/btn/btn_cart_SM.gif" style="border:solid 0px black;" name="submit" alt="click here to order">
</p>

$('p.item input[type=image]').click(function(){
  var $itemDetail = $this.parent('p.item');
  var name = $itemDetail.find('.name').val();
  var price = $itemDetail.find('.price').val();
  window.open('https://www.paypal.com/cgi-bin/webscr?cmd=_cart&business=youremail%40address.com&item_name=' + name  + '&amount=' + price + '&no_note=1&currency_code=USD&add=1', 'yourcartwindowname');
});

这种方法的重要特征是为您提供一个html“模板”,可以对每个项目进行重复和一般使用。它还会在新窗口中打开PayPal购物车页面 - 如果此人在购物车中添加了多个商品,则会保留相同的窗口。如果您可以依赖JavaScript来实现此功能,则非常简单但相对快速且易于实现。