2009-11-05 3 views
1

Я построил магазин с множеством запусков JS. Одна из частей корзины - это поле почтового индекса, которое требуется для расчета стоимости доставки.IE не запускает Javascript, когда вы нажимаете кнопку «назад»

Это прекрасно работает через тележку. Теперь нажатие кнопки checkout приведет вас к paypal. Если вы нажмете назад, в IE сценарии установки (например, очистить поле zip) не будут запущены.

Они работают в Safari & FF, но IE, если вы не обновите, сценарий не будет повторно проверять стоимость доставки, и пользователь в конечном итоге получит бесплатную доставку.

Любые мысли о том, как с этим бороться? Благодаря Rich

--- фрагмент кода ----

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

+0

Думаю, вам следует отправить образец кода и/или URL-адрес в живой пример. Когда я построил свою корзину покупок, у меня была страница, на которую пользователь щелкает деньги через paypal. Затем я переношу их на среднюю страницу со всеми скрытыми данными сообщения (ее можно подделать, но это довольно сложно, и я делаю это только для того, чтобы удержать среднего человека. Даже если бы я зашифровал почтовые данные, «хакер», может по-прежнему изменять HTML-код, чтобы помещать туда свои скрытые переменные.), то он автоматически перенаправляет данные post в paypal, а затем они платят. –

+0

Проблема заключается не столько в передаче данных в PayPal, сколько в том случае, если пользователь нажимает на браузер. В IE (и FF) вместо перезагрузки страницы - ее кеширование. Но только в IE сценарии не срабатывают. Я выложу некоторые фрагменты, поскольку весь код длинный. –

ответ

1

В практике, вы должны никогда, никогда полагаются на стороне клиента (JavaScript) валидации форм, потому что любое поле, которое заполняется Javascript может быть изменено. Я предполагаю, что вы используете проверку формы PayPal. Ваши варианты включают использование шифрования/кодирования формы PayPal (это позволит вам отправить бизнес почтового индекса).

Независимо от того, что, вы всегда должны использовать уведомление по электронной почте PayPal или IPN для проверки всех записей. Если вам нужна дополнительная помощь по проверке размера сервера, прокомментируйте комментарий, и кто-то может направить вас в API.

Смежные вопросы