Короче есть страничка со скриптом. Code: <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, но чем тогда заменить?...
Вот держи, всё сделал... <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>
У тебя он не работает в опере и в фф, потому что innerText не доступен для тега <textarea>. Всё так же как и в input измени строчку Code: alert(post.text.innerText); на Code: alert(post.text.value); И не возникнет больше никаких проблем) UPD: гг) пока печатал и чай делал Dr.Check опередил )))
бля че-то я туплю сегодня... я ж себе BB коды в ленту новостей через value вставлял =))) спасибо обоим =)
Хм... еще один вопрос - вот допустим если я данные из textarea вывожу алертом, то все ок - переносы строк автоматически вставляются. А если мне нужно передать эти данные методом get в некий фрейм, т.е. вот так: Code: frame1.location.href="index.php?text="+post.text.value; переносы строк игнорируются. Текст вставляется в адресную строку таким образом text=строка1строка2строка3 . нет ли в JS функции на подобие nl2br() в php, чтоб она вставляла теги <br> в места перенос строк?
2 Abra подобные данный не передаются GET`ом. Юзай POST. А насчет скрипта - я вообще советую юзать DOM
Trinux ты всем советуешь этот ДОМ. дай пожалуйста ссылку на статью где ясно и понятно описаны принципы работы с этим домом и без всякой воды.
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. Ну это так... общее представление. Весь интерфейс я раскладывать по полкам не стану да и это трудно в пределах одного поста. Что касается данного скрипта. PHP: alert(post.text.value); впринципе неверно. Получение доступа к элементу через DOM осуществляется по средствам объекта document. в DOM определены несколько способов доступа к объекстам документа. В данном случае к текстарии "text" формы "post" можно обратится следующими эквивалентными способами PHP: document.forms['post']['text'] document.forms.namedItem("post").namedItem("text") document.forms.post.text Но никак не PHP: post.text как у автора. Да, работать это может и работает, но это не по спецификации...