2009-05-29 9 views
0

Je fais un site e-commerce, mais traiter Javascript me tue.Comportement Javascript différent dans différents navigateurs

Par exemple, pour la page suivante, http://nordschleife.metaforix.net/118/118/index.php/sony.html

Il fonctionne comme prévu dans Google Chrome, mais pas dans IE ou Firefox. Par exemple, cliquer sur la flèche vers le haut ou vers le bas pour les produits situés en bas de la page (par exemple, le dixième produit) entraînera une augmentation de la page.

J'ai déjà utilisé event.preventDefault(); mais cela ne fonctionne pas pour IE et Firefox. La JS est comme suit:

<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> 

Questions traitées dans ce fil PHP generated textbox operation with Javascript

Merci pour le visionnement.

+0

Si vous utilisez jQuery alors pourquoi var = zone de texte document.getElementById ('_ qté getId();> ? Juste à $ ('# getId();?>') Et textbox.value> 1 devient alors textbox.val()> 1 – aleemb

Répondre

0

Le problème est le # dans le href - il a un comportement défini et vous devez le remplacer, le plus simple étant de retourner false dans vos gestionnaires de clic.

Edit:? Je savait ce était dupe - preventDefault() on an tag

Questions connexes