Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 01.07.2010, 14:49
Интересующийся
Отправить личное сообщение для vamfirius Посмотреть профиль Найти все сообщения от vamfirius
 
Регистрация: 01.07.2010
Сообщений: 29

Не работает метод replace()
Браузер Mozila 5.0 ОС windows 7. Изучаю javascript буквально неделю, и в качестве пробы пера решил написать скрипт который считает колличество знаков в строке отправленной из формы. Скрипт работает за исключением того что пробелы считает тоже. Помогите разобраться плиз я так понимаю проблема в replace, почему может не срабатывать? Код небольшой поэтому выложу сразу -
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<link rel="stylesheet" href="style.css" type="text/css"/>
<script type="text/javascript">
function cnt()
{
var let;
var v_str;
v_reg=/[\s]/g;
v_str=document.all.i_form.i_text.value;
v_str=v_str.toString();
v_str.replace(v_reg,"");
cou=v_str.length;
coun.innerHTML=cou+" знаков в документе";
}
</script>
</head>
<body>
<div id="coun"></div>
<form id="i_form">
<textarea cols="120" rows="20" id="i_text" onmousemove="cnt();" onkeypress="cnt();">
</textarea>
</form>
</body>
</html>

Последний раз редактировалось vamfirius, 01.07.2010 в 14:55.
Ответить с цитированием
  #2 (permalink)  
Старый 01.07.2010, 14:56
Интересующийся
Отправить личное сообщение для vamfirius Посмотреть профиль Найти все сообщения от vamfirius
 
Регистрация: 01.07.2010
Сообщений: 29

Сори. Уже не надо - разобрался.
Ответить с цитированием
  #3 (permalink)  
Старый 01.07.2010, 15:07
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Раз уж изучаете, скажу замечания по коду:
Сообщение от vamfirius
v_str=document.all.i_form.i_text.value;
…
cou=v_str.length;
coun.innerHTML=cou+…
document.all и обращение к элементам по глобальным переменным, соответствующим именам идентификаторов, лучше не использовать — это не крос-браузерно, будет работать только в Internet Explorer и в Quirks Mode (отсутствие/неправильный DOCTYPE) в других браузерах. Используйте стандартные методы: http://javascript.ru/tutorial/dom/search

Сообщение от vamfirius
<… onmousemove="cnt();" onkeypress="cnt();">

v_str=document.all.i_form.i_text.value;
Искать элемент, на котором сработало событие, не нужно:
<… onmousemove="cnt(this);" onkeypress="cnt(this);">

function cnt(obj) {
    …
    v_str = obj.value;
    …
}


Форматируйте код http://javascript.ru/formatting

Последний раз редактировалось Octane, 01.07.2010 в 15:15.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работает в Mozilla и не работает в IE Maxidrom Events/DOM/Window 4 27.02.2010 16:37
ява-скрипт выборочно работает-не работает zeta777 Internet Explorer 0 20.01.2010 11:41
Динамическая HTML форма (FireFox - работает, IE - не работает) dm1tr1y Общие вопросы Javascript 10 11.12.2009 15:59
В Firefox 3.5.5 не работает метод POST. Какие методы лечения? javascript_pupil AJAX и COMET 1 10.12.2009 20:34
Скрипт меню-гармошки работает выборочно Extern Элементы интерфейса 2 23.02.2009 15:32