Forum Webscript.Ru

Программирование => JavaScript & JScript => Тема начата: Rick от 15 Марта 2002, 07:36:13

Название: Не пойму что происходит со скриптом JS
Отправлено: Rick от 15 Марта 2002, 07:36:13
есть вот такой нормально работающий фрагмент скрипта:

var msgBox = window.input.window.document.inputForm.message;
msgBox.focus();

var isCmd = (msgBox.value.substring(0,1) == \'/\');

var reEmpty = new RegExp(\' \', \'g\');
if (msgBox.value.replace(reEmpty, \'\') == \'\')
{
    return false;
}
и т.д. - все работает

мне нужно программно изменить значение msgBox.value поэтому я вношу следующие изменения:

var msgBox = window.input.window.document.inputForm.message;
msgBox.focus();
var SelValue = selsay.value;
var msgValue = msgBox.value;

if ( SelValue != \'\')
{
    msgValue = SelValue + msgValue;
}

var isCmd = (msgValue.substring(0,1) == \'/\');

var reEmpty = new RegExp(\' \', \'g\');

alert(\'msgValue1 = \'+msgValue);//нормально показывается
if (msgValue.replace(reEmpty, \'\') == \'\')
{
    return false;
}
alert(\'msgValue2 = \'+msgValue);//Ошибка скрипта

Что-то происходит при выполнении replace, но что???

Примечание: если я оперирую msgBox.value и делаю:  msgBox.value = SelValue + msgBox.value; то все нормально, но я так не могу делать. И хочу понять, что же не так. Хелп плз.
Название: Не пойму что происходит со скриптом JS
Отправлено: puh от 16 Марта 2002, 16:41:21
Трудно понять как выглядит форма, можно поподробнее? Вообще похоже, что этот скрипт только под IE работает, так?
Название: Не пойму что происходит со скриптом JS
Отправлено: Rick от 17 Марта 2002, 07:41:13
Да, гоняю я его в ослике.
Скрипт работает. Все чудесно. И впрос я могу упростить до такого вида:
фрагмент РАБОЧЕГО скрипта:

alert("msgValue1 ="+msgValue);//работает
if (msgValue.replace(reEmpty, \'\') == \'\')
{
   return false;
}
alert("msgValue2 ="+msgValue);//как только добавляю эту строку - ошибка синтаксиса во время загрузки страницы.

Теперь мне просто интересно разобраться, почему же после replace эта строка вызывает ошибку.