Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |

10.06.2006, 16:55
|
|
Постоянный
Регистрация: 17.09.2005
Сообщений: 375
Провел на форуме: 993362
Репутация:
175
|
|
JS, текст из <textarea>
Короче есть страничка со скриптом.
Код:
<html>
<head>
<title>Untitled web-page</title>
</head>
<body>
<form action"" name="post">
<textarea name="text" rows="5" cols="20">
</textarea>
</form>
<script>
timerID=setTimeout("save1()", 5000)
function save1() {
alert(post.text.innerText);
}
</script>
</body>
</html>
Как видно скрипт через 5 секунд после загрузки должен вывести то что написано в <textarea> ввиде алерта.
Так вот почему-то эта фигня нормально работает только на ИЕ. При загрузке через фаерфокс, в алерте post.text.innerText оказывается не заданым (т.е. undefined), В опере тоже самое, т.е. выводится пустой алерт.
Кто нибудь знает как заставить скрипт работать в фф и опере? Я думаю что они просто не реагируют на значение innertext в textarea, но чем тогда заменить?...
|
|
|

10.06.2006, 18:30
|
|
Познавший АНТИЧАТ
Регистрация: 09.06.2006
Сообщений: 1,359
Провел на форуме: 5301021
Репутация:
1879
|
|
Вот держи, всё сделал...
<html>
<head>
<title>Untitled web-page</title>
</head>
<body>
<form action"" name="post">
<textarea name="text" rows="5" cols="20">
</textarea>
</form>
<script>
timerID=setTimeout("save1()", 5000)
function save1() {
alert(post.text.value);
}
</script>
</body>
</html>
|
|
|

10.06.2006, 18:39
|
|
Members of Antichat
Регистрация: 03.09.2005
Сообщений: 594
Провел на форуме: 3606217
Репутация:
685
|
|
У тебя он не работает в опере и в фф, потому что innerText не доступен для тега <textarea>. Всё так же как и в input измени строчку
Код:
alert(post.text.innerText);
на
Код:
alert(post.text.value);
И не возникнет больше никаких проблем)
UPD: гг) пока печатал и чай делал Dr.Check опередил )))
|
|
|

10.06.2006, 20:27
|
|
Постоянный
Регистрация: 17.09.2005
Сообщений: 375
Провел на форуме: 993362
Репутация:
175
|
|
бля че-то я туплю сегодня... я ж себе BB коды в ленту новостей через value вставлял =))) спасибо обоим =)
|
|
|

10.06.2006, 21:37
|
|
Постоянный
Регистрация: 17.09.2005
Сообщений: 375
Провел на форуме: 993362
Репутация:
175
|
|
Хм... еще один вопрос - вот допустим если я данные из textarea вывожу алертом, то все ок - переносы строк автоматически вставляются.
А если мне нужно передать эти данные методом get в некий фрейм, т.е. вот так:
Код:
frame1.location.href="index.php?text="+post.text.value;
переносы строк игнорируются. Текст вставляется в адресную строку таким образом text=строка1строка2строка3
.
нет ли в JS функции на подобие nl2br() в php, чтоб она вставляла теги <br> в места перенос строк?
|
|
|

10.06.2006, 22:21
|
|
Познавший АНТИЧАТ
Регистрация: 26.11.2004
Сообщений: 1,149
Провел на форуме: 941818
Репутация:
569
|
|
2 Abra
подобные данный не передаются GET`ом. Юзай POST.
А насчет скрипта - я вообще советую юзать DOM
|
|
|

11.06.2006, 20:53
|
|
Познавший АНТИЧАТ
Регистрация: 16.04.2006
Сообщений: 1,488
Провел на форуме: 2209675
Репутация:
537
|
|
Trinux
ты всем советуешь этот ДОМ.
дай пожалуйста ссылку на статью где ясно и понятно описаны принципы работы с этим домом и без всякой воды.
|
|
|

11.06.2006, 23:17
|
|
Познавший АНТИЧАТ
Регистрация: 26.11.2004
Сообщений: 1,149
Провел на форуме: 941818
Репутация:
569
|
|
DOM - Document Object Model. Объектная модель документа. DOM был разработан W3C как API для предстваление документа (HTML страницы) и доступа ко всем ее элементом. Будь то элемент формы или просто таблица. DOM это лишь стандарт, рекомендация от W3C. Примерно так же, как и HTML, CSS и прочие. Ни один браузер не поддерживает DOM полностью и в точности к спецификации от W3C (впрочем, как и CSS). Соответственно можно легко сказать о том, что в разных браузерах поддержка DOM разная. НО! DOM Level 1 был специфицирован аж в 98 году и на данный момент IE 6+ и другие браузеры худо-бедно его поддерживают достаточно полно. Грубо говоря, если вы работает с документом через DOM API Level 1 - огромная вероятность того что скрипт будет работать во всех браузерах одинаково. DOM Level 2 был специфицирован в 2000 году, он получил ряд изменений с прошлым и улучешений. Но IE 6+ его не поддерживает. Поэтому лучше даже не пускать слюну, читая спецификацию DOM Level 2, а наслождаться простой и брутальностью DOM Level 1.
Ну это так... общее представление. Весь интерфейс я раскладывать по полкам не стану да и это трудно в пределах одного поста. Что касается данного скрипта.
впринципе неверно. Получение доступа к элементу через DOM осуществляется по средствам объекта document. в DOM определены несколько способов доступа к объекстам документа. В данном случае к текстарии "text" формы "post" можно обратится следующими эквивалентными способами
PHP код:
document.forms['post']['text']
document.forms.namedItem("post").namedItem("text")
document.forms.post.text
Но никак не как у автора. Да, работать это может и работает, но это не по спецификации...
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|