Показать сообщение отдельно
  #2 (permalink)  
Старый 16.11.2008, 02:26
...
Отправить личное сообщение для Zibba Посмотреть профиль Найти все сообщения от Zibba
 
Регистрация: 13.10.2008
Сообщений: 225

В следующий раз пожалуйста оформляйте код в тегах, а то читать не удобно

А теперь к делу:
- Во первых у Вас ошибки в регистре букв, сама функция называется rtrim, а вызываете Вы Rtrim. Т.к. JS восприимчив к регистру букв, то думает что такой функции не существует.
- Во вторых так и не понял что за функция Ltrim и для чего она вызывается, ну в общем это и не важно , но в моем случае (соответственно) вылетает ошибка, если не убрать строчку с вызовом данной функции.
- В третьих вы возвращаете substring(0, 1+1); в своей функции. т.е. первые два символа т.к. второй аргумент функции указывает количество символов начиная с первого.
- В четвертых, самое главное (!). В цикле Вы ничего не делаете со счетчиком цикла, в итоге получаем вечный цикл.
Вроде бы все Ваши ляпы (за исключением непонимания мною использования метода split в Вашем случае)

В общем я не JS гуру, но вот что у меня получилось, вроде бы работает:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=UTF8" />
		<title></title>
		<script type="text/javascript">
			function rtrim(str){
				var i = str.length - 1;
				if(str.charAt(i)!= " ") return str;
				while(i){
					if(str.charAt(i) == " ") i--;
					else break;
				}
				return str.substr(0, i+1);
			}
			
			inv = prompt("Введите текст с пробелами: ", " abc    ");
			window.alert("/"+inv+"/\n/"+rtrim(inv)+"/");
		</script>
	</head>
	<body></body>
</html>


P.S. Хотелось бы узнать мнение знающих людей по поводу моего кода. Как бы можно было его улучшить и т.д., не ругайтесь я только учусь помогать

Последний раз редактировалось Zibba, 16.11.2008 в 02:29. Причина: синтаксические ошибки
Ответить с цитированием