2009-11-05 51 views
1

我已经建立了一个拥有大量JS运行的商店。 购物车中的一件,是计算运费所需的邮政编码字段。当你点击'返回'按钮时,IE浏览器无法运行Javascript

这工作正常通过购物车。现在点击结帐会带你到PayPal。 如果你点击返回,在IE中,安装脚本(如清除zip字段)不会被解雇。

他们在Safari中工作& FF,但IE浏览器除非您进行刷新,否则脚本将不会重新检查运输成本,并且用户最终免费送货。

有关如何处理此问题的任何想法? 感谢 丰富

---代码片断----

function loadCartTriggers() { 
    if($('cart')) { 
     var size_menus = document.getElementsByTagName('select'); 
     $('zip').value = ''; 
     giftOption(); 
     for(i=0; i<size_menus.length; i++) { 
      addEvent('change', updateProdData, size_menus[i].id); 
     } 
     addEvent('click', giftOption, 'gift'); 
     addEvent('keyup', getShipRate, 'zip'); 
     addEvent('click', checkZip, 'checkout_faux'); 
     addEvent('click', giftCharge, 'gift'); 
    } 
} 

loadCartTriggers(); 

BSN。 krd。 webhop .NET /店

(只是没有想地址索引)

+0

你是如何激发设置代码? – outis 2009-11-05 23:55:05

+0

我认为你应该将示例代码和/或URL发布到现场示例。当我建立我的购物车时,我有一个页面,用户点击支付通过PayPal。然后我带他们到所有隐藏的帖子数据的中间页面(它可能会被篡改,但这很难,我只是这样做,以防止普通人,即使我加密了发布数据,“黑客”仍然可以更改HTML代码以将自己隐藏的变量放在那里),然后它会自动将发布数据重定向到paypal,然后付费。 – 2009-11-06 00:24:20

+0

问题不在于将数据传递给PayPal--它更多是在用户点击浏览器时发生的。在IE(和FF)而不是重新加载页面 - 它的缓存。但只有在IE中,脚本才会启动。 自从整个代码冗长后,我会发布一些片段。 – 2009-11-06 00:33:23

回答

1

作为练习,你应该永远,永远依赖于客户端(JavaScript)的形式验证,因为这是由人口的Javascript任何领域可以被篡改。我假设您使用PayPal表单结帐。您的选择包括使用贝宝的表单加密/编码(这将允许您提交邮政编码业务)。

不管怎样,你应该总是使用贝宝的电子邮件通知或IPN来验证所有条目。如果您需要更多关于服务器大小验证的帮助,请跟进评论,并且有人可以引导您访问API。

相关问题