2010-08-20 5 views
2

Pour quelles raisons certaines fonctions JavaScript ne fonctionneront pas dans Google Chrome, mais fonctionnent bien dans Mozilla Firefox?JavaScript ne fonctionne pas dans Google Chrome

comme ça ..

code HTML: ...

onkeyup="calculateTotal(this.value)" 
onclick="clickclear(this, '0')" onblur="clickrecall(this,'0')" value="0" 

Code JS:

function calculateTotal(price, quantity, cnt) { 
    if(quantity != ""){ 
     var totalAmt = parseInt(document.getElementById('total['+cnt+']').value); 
     totalAmt = parseInt(quantity) * parseInt(price); 

     document.getElementById('total['+cnt+']').value = totalAmt; 
     document.getElementById('indicator').value++; 
    } 
    else{ 
     document.getElementById('total['+cnt+']').value = 0; 
     document.getElementById('indicator').value--; 

    } 
} 

Et déjà inclus ceci:
jquery1.4.2.js

+1

Pourriez-vous nous fournir un cas de démonstration http://jsfiddle.net/? – jantimon

+1

chrome dispose d'une console javascript (ctrl + shift + j). ça dit quoi? – stefs

+0

si vous utilisez jquery (qui a la fonction $), pourquoi épelez-vous document.getElementById? – Thilo

Répondre

5

Vous appelez la fonction

calculateTotal(this.value) 

mais votre fonction est:

function calculateTotal(price, quantity, cnt) 

Je ne sais pas pourquoi cela fonctionne dans Firefox (I » En supposant qu'ils ont automatiquement fourni des paramètres ou quelque chose), mais vos deux fonctions ne correspondent pas.

+0

Non, c'est en fait onkeyup = "calculateTotal (, This.value, )" – anonymous123

+0

Je viens de simplifié et j'ai oublié de simplifier la fonction. En fait, c'est juste pour l'affichage, c'est pourquoi j'ai supprimé certains paramètres pour vous montrer le flux. Cela fonctionne vraiment bien dans Firefox. – anonymous123

0

De la spécification HTML 4:

jetons d'identité et le nom doit commencer par une lettre ([A-Za-z]) et peut être suivi par un certain nombre de lettres, chiffres ([0-9]) , traits d'union ("-"), traits de soulignement ("_"), deux-points (":") et points (".").

http://www.w3.org/TR/html401/types.html#type-name

Je voudrais donc remplacer votre utilisation de crochets dans ids avant d'essayer quoi que ce soit d'autre.

Questions connexes