Помогите найти ошибку в простом коде

Тема в разделе "JavaScript", создана пользователем Playing, 22 июн 2012.

Модераторы: ZiX
  1. Playing

    Playing Постоялец

    Регистр.:
    9 авг 2010
    Сообщения:
    77
    Симпатии:
    4
    JS фактически не владею, по этому синтаксис не знаю. Нужно сравнить в функции 2 значения. Написал код, но он только сбивает прошлое​
    Код:
            {
            for (var iii = 0 ; iii < a4mass_l iii++) {
                    if ($_('product_ean').selectedIndex == $a4mas[iii])
                    $a45=1;
                    }
                if (a45 > 0)
                    alert ('<?php echo _JSHOP_WRITE_SELECT_CATEGORY?>');       
            } else {
    Первоначальный код:

    Код:
    function submitbutton(pressbutton){
        if (pressbutton == 'save' || pressbutton == 'apply'){
            if (isEmpty($F_('product_width_image')) && isEmpty($F_('product_height_image'))){
              alert ('<?php echo _JSHOP_WRITE_SIZE_BAD?>');
            } else if ($_('category_id').selectedIndex == -1){
              alert ('<?php echo _JSHOP_WRITE_SELECT_CATEGORY?>');
            } else {
                submitform(pressbutton);
            }
        } else {
            submitform(pressbutton);
        }
    }
    вставку делаю после alert ('<?php echo _JSHOP_WRITE_SELECT_CATEGORY?>');
     
  2. registered

    registered Создатель

    Регистр.:
    13 апр 2012
    Сообщения:
    45
    Симпатии:
    4
    по вашему a45 = $a45 ?
    или вы в курсе, что присваиваете 1 одной переменной, а сравниваете с нулём - другую?
    вообще, использовать знак доллара в имени переменных - плохая практика
     
  3. dino

    dino

    Регистр.:
    28 май 2009
    Сообщения:
    550
    Симпатии:
    204
    может и несущественно, но:
    Код:
    for (var iii = 0 ; iii < a4mass_l iii++)
    не хватает токи с запятой после условия выполнения
    Код:
    for (var iii = 0; iii < a4mass_l; iii++)
    кроме того a4mass_l как по мне это a4mass.length - то есть размер массива... ​