IE doesn't run Javascript when you click 'back' button
I've built a shop with tons of JS running. One of the pieces of the cart, is a zip code field which is required to calculate shipping cost.
This works fine going through the cart. Now clicking checkout takes you to paypal. If you click back, in IE the setup scripts (like clear the zip field) aren't fired.
They work in Safari & FF, but IE unless you do a refresh, script won't re-check the shipping cost and the user ends up having free shipping.
Any thoughts on how to deal with this? Thanks Rich
--- code snippet ----
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 .ne开发者_运维知识库t / shop
(just didnt want the address indexed)
As a practice, you should never, ever rely on client-side (Javascript) form validation because any field that is populated by Javascript can be tampered. I'm assuming you're using the PayPal form checkout. Your options include using PayPal's form encrypting/encoding (this would allow you to submit the ZIP code business).
No matter what, though, you should always use PayPal's email notification or IPN to verify all the entries. If you want more help on server-size validation, follow up with a comment, and someone can direct you to the API.
精彩评论