Ошибки синтаксиса проверки Javascript - PullRequest
0 голосов
/ 15 сентября 2010

У меня есть этот фрагмент javascript, который должен проверяться на стороне клиента. Я создал его с помощью этого урока: http://www.php -mysql-tutorial.com / вики / PHP-учебник / форма валидация-с использованием-php.aspx

К сожалению, я получаю это предупреждение: Msgstr "В строке 48 есть синтаксическая ошибка. Подсказка кода может не работать, пока вы не исправите эту ошибку".

Мой код длиной 110 строк, поэтому я не хотел публиковать его здесь, поэтому я пропустил этот код через http://www.jslint.com/,, и это то, что он сказал мне: «Проблема в строке 4, символ 5: ожидал идентификатор и вместо этого увидел« с »."

Я все еще довольно потерян, поэтому вот фрагмент кода с начала кода:

function checkForm()
{
    var vcompName, vadd1, vadd2, vcountry, vcontact1, vtelephone1, vemail, vsiteurl;
    with(window.document.form1)
    {
        vcompName = compName;
        vadd1 = add;
        vadd2 = add2;
        vcountry = country;
        vcontact1 = name;
        vtelephone1 = tel;      
        vemail = email1;
        vpackage = package;
        vsiteurl = url;
    }

    if(trim(vcompName.value)=='')
    {
        alert('Please enter the company name');
        vcompName.focus();
        return false;
    }
    else if(trim(vadd1.value)=='')
    {
        alert('Please enter your address')
        vadd1.focus();
        return false;
    }
}

Вы можете видеть, как это происходит ... Вот функция обрезки

function trim(str)
{
    return str.replace(/^\s+|\s+$/g,'');
}

Ответы [ 2 ]

1 голос
/ 15 сентября 2010

Так как такой синтаксис в порядке, но вам следует избегать использования ключевого слова, так как оно медленное и может быть неоднозначность. Я предложу вам переписать нижеприведенный блок

with(window.document.form1)
    {
        vcompName = compName;
        vadd1 = add;
        vadd2 = add2;
        vcountry = country;
        vcontact1 = name;
        vtelephone1 = tel;      
        vemail = email1;
        vpackage = package;
        vsiteurl = url;
    }

в

  var o = window.document.form1;
   vcompName = o.compName;
   vadd1 = o.add;
   vadd2 = o.add2;
   vcountry = o.country;
   vcontact1 = o.name;
   vtelephone1 = o.tel;      
   vemail = o.email1;
   vpackage = o.package;
   vsiteurl = o.url;

Есть еще несколько вопросов, но jlint указал бы на них.

1 голос
/ 15 сентября 2010

Не реальный ответ ни на один из ваших вопросов, но чтобы уточнить: две ошибки не имеют ничего общего друг с другом.

Первым кажется, что ваша IDE не понимает регулярное выражение - не уверена, что с этим можно сделать. Какой IDE вы используете?

Последний может быть JSLint, отклоняющим ключевое слово with - не уверен, почему, тем не менее, он все еще кажется допустимым синтаксисом

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