0

Почему код работает только в мозиле?

$(document).ready(function(){  
alert('m2');

var chFormI = 2; //общая проверка формы 2-можно , 3-запрет

//Создаю новую функцию
function chekForm (name, ch = 1){
    if (name.val() =='') { 
            name.next().show("slow");
            name.parent() .addClass('has-error');   
            if (ch==2)  {chFormI=3;}     
         }  else {
            name.next().hide("slow");
            name.parent() .removeClass('has-error');
         }

}

}); // $(document).ready /

Вот код в "песочнице" http://jsbin.com/kumiyebahazu/1/edit, проблема именно вот в этом:

//Создаю новую функцию
    function chekForm (name, ch = 1){
        if (name.val() =='') { 
                name.next().show("slow");
                name.parent() .addClass('has-error');   
                if (ch==2)  {chFormI=3;}     
             }  else {
                name.next().hide("slow");
                name.parent() .removeClass('has-error');
             }

    }

Пожалуйста, помогите.

1
  • 2
    В js нельзя определять аргументы по умолчанию, как в php, то есть ch = 1 замените на ch.
    – mountpoint
    26 авг 2014 в 19:28

2 ответа 2

4

Вы неправильно задаете значение аргумента функции по умолчанию. Правильно будет в самой функции писать:

var ch = сh || 1;
2
  • Ваш код тоже не работал в мозиле. Решил задачу: if (ch === undefined) { ch = 1; } 27 авг 2014 в 4:01
  • @Максим147, а вы заменили ch = 1 в определении функции на ch?
    – andreyqin
    27 авг 2014 в 10:15
0

Решил задачу:

if (ch === undefined) { ch = 1; }

Ваш ответ

By clicking “Отправить ответ”, you agree to our terms of service and acknowledge you have read our privacy policy.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками или задайте свой вопрос.