2009-05-29 19 views
0

私は電子商取引のウェブサイトをやっていますが、Javascriptを使って私を殺しています。次のページの例さまざまなブラウザで異なるJavaScriptの動作

、IEやFirefoxでGoogle Chromeで意図ではなくて、それが動作http://nordschleife.metaforix.net/118/118/index.php/sony.html

。たとえば、ページの下にある商品(例:10番目の商品)の上矢印または下矢印をクリックすると、ページが上に移動します。

私は既に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のを使用している場合は、その理由のvarテキストボックス=のdocument.getElementById( '数量_ のgetId()が行います;?> ?$( '#<?php echo $ _product-> getId();?>');そしてtextbox.value> 1はtextbox.val()> 1になります – aleemb

答えて

0

問題は#hrefにあります。定義された動作があり、オーバーライドする必要があります。クリックハンドラーでfalseを返すのが最も簡単です。

編集:私はが、これはだまされやすい人だったを知っていた - preventDefault() on an tag

関連する問題