|
|
|
|
swindow = window.open("my.htm", "set","height=400,width=300,location=true");
swindow.document.getElementById('Source').value=document.getElementById('ffff').value;
|
Так вот пробую передать из инпута 'file' в 'textarea' в другом окне, но текстэреа остаётся пустой.
Не соображу никак что не так! | |
|
|
|
|
|
|
|
для: Eugene77
(24.01.2008 в 20:14)
| | Попробуйте достать значение поля типа text. Что-то мне подсказывает, что нельзя просто так вот взять и прочитать value поля file... | |
|
|
|
|
|
|
|
для: Eugene77
(24.01.2008 в 20:14)
| | Судя по тому, как вы обозвали textarea (Source), вы надеетесь получить там содержимое файла, но максимум, чего вы добьетесь - это копирования пути к файлу на жестком диске.
Для извлечения его содержимого (кроссбраузерно) не обойтись без загрузки файла на сервер | |
|
|
|
|
|
|
|
для: bronenos
(24.01.2008 в 23:15)
| | >максимум, чего вы добьетесь - это копирования пути к файлу на жестком диске
Нет... этого-то как раз и не добиться.
Ни самого файла, ни пути к нему. | |
|
|
|
|
|
|
|
для: CNT
(25.01.2008 в 01:28)
| | А мне вроде как это удавалось
onChange="alert(this.value)" | |
|
|
|
|
|
|
|
для: bronenos
(25.01.2008 в 10:27)
| | >onChange="alert(this.value)"
Cпасибо bronenos!
В этом и была моя ошибка - не правильно извлекал value.
Хотя и тут без странностей не обошлось. Ваш метод в Опере даёт только имя файла без пути к нему, а IE даёт полное имя файла.
Так что у меня теперь возникла проблемка с кроссбраузерностью.
Я совсем не знаю функций для работы со строками (кроссбраузерных) в JS.
Как привести всё к единому формату? Удалить, например, путь к файлу, оставить только имя самого файла с расширением.
P.S, Напишите, пожалуйста здесь, если у кого-то приём of Bronenos не работает, и какая у вас версия браузера. | |
|
|
|
|
|
|
|
для: Eugene77
(25.01.2008 в 13:24)
| | value.substr(window.opera ? 0 : value.lastIndexOf("/")) | |
|
|
|
|
|
|
|
для: bronenos
(25.01.2008 в 13:45)
| | >value.substr(window.opera ? 0 : value.indexOf("/"))
Спасибо, понял:
function cut(s){
while(s != s.substr(window.opera ? 0 : s.indexOf("\\"))) s = s.substr(window.opera ? 0 : s.indexOf("\\")+1);
while(s != s.substr(window.opera ? 0 : s.indexOf("/"))) s = s.substr(window.opera ? 0 : s.indexOf("/")+1);
return s;
} | |
|
|
|
|
|
|
|
для: Eugene77
(25.01.2008 в 16:39)
| | я поправил мессаг свой | |
|
|
|
|
|
|
|
для: bronenos
(25.01.2008 в 17:26)
| | >я поправил мессаг свой
Так ещё лучше :-)
Ещё бы придумать как детектировать - настоящий это адрес или только его часть.
И, соответственно, показывать настоящую картинку
или заставку: "Здесь будет ваша картинка" | |
|
|
|
|
|
|
|
для: Eugene77
(24.01.2008 в 20:14)
| | swindow = window.open("my.htm", "set","height=400,width=300,location=true");
swindow.document.getElementById('Source').value=document.getElementById('ffff').value;
Судя по коду вы получаете значение свойства value и помещаете его в textarea в то время когда это значение равно пустой строке. Очевидно нужно копировать это значение только после того
как пользователь его введёт. | |
|
|
|