2013-07-18 2 views
0

Я слишком долго смотрел этот код и просто не вижу, что мне не хватает. Ошибка указывает, что в последней строке есть синтаксическая ошибка, я проверил все мои фигурные скобки, но не могу найти ее. Может ли кто-нибудь помочь мне найти его? window.addEvent ('domready', функция() { // Получить форму форму вар = $ ('comments_form');Javascript-файл, получающий синтаксическую ошибку

// if the form is found... 
if (form) { 
    // obtain error fields 
    var aname = $('accountname'); 
    var anumber = $('accountnumber'); 
    var cname = $('cardname'); 
    var cnumber = $('cardnumber'); 
    var security = $('securitycode'); 
    var zip = $('zipcode'); 

    // Set the default status 
    var isValid = true; 

    // input error function for the error messages 
    var addError = function (field, msg) { 
     field.addClass('error'); // Add error class to field 
     var error = field.getParent().getElement('span') || new Element('span', {'class': 'error'}); // add error message if not already placed 
     error.set('text', msg); // error text msg 
     error.inject(field, 'after'); // Insert error message after field 
    }; 

    // detach error function used to delete any error messages and remove the error class 
    var removeError = function (field) { 
     field.removeClass('error'); // Remove error class from form fields 
     var error = field.getParent().getElement('span'); // find any existing error messages 

     // destroy if error message 
     if (error) { 
      error.destroy(); 
     } 
    }; 

    // insert submit form event 
    form.addEvent('submit', function (e) { 
     // Test name length 
     if (aname.get('value').length === 0) { 
      isValid = false; 
      addError(name, accountnameError); 
     } else { 
      isValid = true; 
      removeError(aname); 
     } 
    form.addEvent('submit', function (e) { 
     // Test name length 
     if (anumber.get('value').length === 0) { 
      isValid = false; 
      addError(anumber, accountnumberError); 
     } else { 
      isValid = true; 
      removeError(accountnumber); 
     } 
    form.addEvent('submit', function (e) { 
     // Test name length 
     if (cname.get('value').length === 0) { 
      isValid = false; 
      addError(cname, nameError); 
     } else { 
      isValid = true; 
      removeError(cname); 
     } 
    form.addEvent('submit', function (e) { 
     // Test name length 
     if (cnumber.get('value').length === 0) { 
      isValid = false; 
      addError(cnumber, numberError); 
     } else { 
      isValid = true; 
      removeError(cname); 
     } 
    form.addEvent('submit', function (e) { 
     // Test name length 
     if (securitycode.get('value').length === 0) { 
      isValid = false; 
      addError(securitycode, securityError); 
     } else { 
      isValid = true; 
      removeError(securitycode); 
     } 
    form.addEvent('submit', function (e) { 
     // Test name length 
     if (zipcode.get('value').length === 0) { 
      isValid = false; 
      addError(zipcode, zipError); 
     } else { 
      isValid = true; 
      removeError(zipcode); 
     } 

     // If form invalid then stop event happening 
     if (!isValid) { 
      e.stop(); 
     } 
    }); 
} 
    }); 
+0

Вам нужен текстовый редактор, который позволяет переключаться с открытого на близкую скобку (или на парсеры). – jarmod

ответ

3

Вы пропустили конец фигурную скобку и закрытия paranthesis для каждого form.addEvent('submit', function (e) {. Кроме того, вы можете объединить их в один обработчик. Использование beautifier поможет вам легко найти, если эти типы синтаксических ошибок.

Пример одного из них

form.addEvent('submit', function (e) { 
    // Test name length 
    if (aname.get('value').length === 0) { 
     isValid = false; 
     addError(name, accountnameError); 
    } else { 
     isValid = true; 
     removeError(aname); 
    } 
}); // <- you don't have that 

На боковой ноте ваши var aname = $('accountname'); (и последующие строки) выглядят неправильно. Вероятно, вы хотите выбрать его по id; использование $('#accountname'). И я не знаю никакой функции addEvent. Я предполагаю, что вы используете какую-то другую библиотеку, но для справки с jQuery вы должны использовать .on(event, handler)

+0

Хмм, это исправило мою ошибку, но она все еще не работает должным образом. Это был файл validation.js, который можно найти на моей php-странице. Если бы я разместил свой php, вы могли бы дать какой-нибудь совет? – user2168066

+0

@ user2168066 уверен, но мой первый совет - убедиться, что вы правильно изучаете PHP и Javascript. Я знаю, откуда вы пришли; Я узнал, путая свой путь через проекты, но есть также некоторые основные ошибки, которые вы должны решить самостоятельно (например, найти отсутствующие фигурные скобки). Мой второй совет - опубликовать более подробную информацию о том, какую ошибку вы получаете. Наконец, вы используете какие-либо другие фреймворки (если да, какие)? '.set ('text', msg)' и 'get ('value')' недействительны в javascript javascript и jQuery (jQuery имеет значение, но для разных целей) AFAIK – Raekye

Смежные вопросы