Код JavaScript не работает на моем сайте Blogger

Я создал код JavaScript с помощью веб-сайта fiddle.com. Но в скрипке я могу заставить его работать, только используя

без обертывания (тело)

вариант. Я не уверен, что делает этот вариант. Ссылка на Fiddle находится здесь. Я добавил этот сценарий в свой блог Blogger, но он не работал.

Код

function getTotal(){
    var form = document.theForm;
    var inputs = form.getElementsByTagName('input');
    var length = inputs.length;
    var total = '0';

    for (i = 0; i<length-1; i++){
        if(inputs[i].type == 'radio'){
            var checked = inputs[i].checked?1:0;
            if(checked){
                var value = inputs[i].value.split("~~")[0];
                total -= -value;
            }
        }
    }
    document.getElementById('totalspan').innerHTML="Toplam Fiyat: "+ total + " tl"
    total='0';
}

Сценарий рассчитывает общую стоимость выбранных вариантов. Вы можете увидеть это на скрипке. Кроме того, он у меня есть в Blogger, но, как я уже сказал, он не работает.

Ссылка на мой блог находится здесь.


person Dunya Cengiz    schedule 03.10.2012    source источник
comment
Без обид, но твои навыки копирования и вставки - отстой. Достаточно проверки синтаксических ошибок в любой консоли JavaScript.   -  person Alexander    schedule 03.10.2012
comment
у меня уже есть скрипка. Это просто не будет работать с блоггером. Ошибок тоже не выдает. Просто не работает .. Стоит ли размещать файл javascript и делать ссылку на html?   -  person Dunya Cengiz    schedule 03.10.2012


Ответы (1)


no wrap (body) означает, что ваш скрипт будет вставлен в новый тег script внутри тега body, no wrap (head) означает, что ваш скрипт будет вставлен в новый тег script внутри head. Вы можете прочитать об этом в справке jsFiddle

Другие параметры будут заключать ваш JS-код в определенные обработчики событий DOM (onLoad и onDomReady).

Ошибки сценария на вашем сайте говорят мне, что calculateTotal is not defined, поэтому проверьте свое имя.

Почему вы используете строку при подсчете суммы? Вы можете безопасно использовать встроенную функцию JS parseInt.

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

Самый простой вариант - использовать jQuery следующим образом:

$('[name="CPU"], [name="OperatingSystem"], [name="Case"]').on('change', updateTotal);

function updateTotal {
   var total = 0;
   // calculate your total here
   $('#totalspan').text(total);
}

Пожалуйста, проверьте мою 5-минутную скрипку: http://jsfiddle.net/GDXuS/5/

Вы также можете использовать data- атрибуты для хранения цен или любых других данных (см. На сайте jQuery).

И я советую вам изучить несколько языков программирования.

person Anton Rudeshko    schedule 03.10.2012
comment
Нет проблем, просто примите мой ответ, если он поможет =) Взгляните на учебник JS на w3c.org - person Anton Rudeshko; 03.10.2012