JavaScript не работает в Google Chrome - PullRequest
2 голосов
/ 20 августа 2010

В чем причина того, что некоторые функции JavaScript не будут работать в Google Chrome, но отлично работают в Mozilla Firefox?

Как это ..

HTML-код:
...

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

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

    }
}

И уже включено это:
jquery1.4.2.JS

Ответы [ 2 ]

5 голосов
/ 20 августа 2010

Вы вызываете функцию

calculateTotal(this.value)

но ваша функция:

function calculateTotal(price, quantity, cnt)

Я не знаю, почему это работает в Firefox (я предполагаю, что они автоматически предоставляют параметры или что-то в этом роде), но ваши две функции не совпадают.

0 голосов
/ 20 августа 2010

Из спецификации html 4:

Жетоны ID и NAME должны начинаться с буквы ([A-Za-z]) и могут сопровождаться любым количеством букв, цифр ([0-9]), дефисы ("-"), подчеркивания ("_"), двоеточия (":") и точки (".").

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

Поэтому я бы заменилвы используете квадратные скобки в идентификаторах, прежде чем пытаться что-либо еще.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...