2009-05-29 2 views
0

Я занимаюсь сайтом электронной коммерции, но работа с Javascript меня убивает.Поведение разных Javascript в разных браузерах

Например, для следующей страницы, http://nordschleife.metaforix.net/118/118/index.php/sony.html

Он работает, как предполагалось в Google Chrome, но не в IE или Firefox. Например, нажатие стрелки вверх или вниз для продуктов, находящихся на странице (например, десятый продукт), приведет к увеличению страницы.

Я уже использовал event.preventDefault(); но он не работает для IE и Firefox. JS выглядит следующим образом:

<script type="text/javascript"> 
jQuery(document).ready(function($){ 
    $('#upImg_<?php echo $_product->getId();?>').live("click", function() { 
           var textbox = document.getElementById('qty_<?php echo $_product->getId();?>'); 
           textbox.value = parseInt(textbox.value)+1; 
           event.preventDefault(); 
           }); 
    $('#downImg_<?php echo $_product->getId();?>').live("click", function() { 
            var textbox = document.getElementById('qty_<?php echo $_product->getId();?>'); 
            if (textbox.value>1) 
            textbox.value = parseInt(textbox.value)-1; 
            event.preventDefault(); 
            }); 
           }); 
</script> 

Ответил в этой теме PHP generated textbox operation with Javascript

Спасибо за просмотр.

+0

Если вы используете JQuery, то почему вар текстовое поле = document.getElementById ('кол-во _ GetId();> ? Просто до $ ('# getId();?>'); И textbox.value> 1, затем стать textbox.val()> 1 – aleemb

ответ

0

Проблема в # в href - она ​​имеет определенное поведение, и вам необходимо переопределить ее, что проще всего вернуть false в обработчики кликов.

Edit: Я знал, что это простофиля - preventDefault() on an tag

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