Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Скопировать input type='file' в динамическую форму 
:(
    Опции темы
Black
  Дата 19.2.2007, 19:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Web-Development
**


Профиль
Группа: Участник
Сообщений: 980
Регистрация: 15.8.2004

Репутация: 4
Всего: 45



У меня есть форма 

Код

<form method='post' enctype='multipart/form-data' action='lala.php'>
lal..lal
</form>


В форму вложен

Код

<input type='file' name='image' id='image' />


Мне надо после нажатия на кнопку 

Код

<button onclick='sendForm();return false;'>Отправить</button>


Запустить функцию sendForm() которая все поля формы обработает нужным образом и отправит на сервер.
Со всеми input работает нормально. Кроме <input type='file' />

Мне надо в динамически генерируемой мной формой отправить и этот припрепленный к форме файл.
Я делаю так:

Код

function sendForm()
{
var form = document.createElement('form');

form.action = 'lala.php?action=add';
form.method = 'post';
form.enctype= 'multipart/form-data';
      
var input = document.createElement('input');
input.type = 'hidden';

var input1 = input.cloneNode(1);
input1.name = 'name_ru';
input1.value = document.getElementById('name_ru').value;

var input2 = input.cloneNode(1);
input2.name = 'name_lv';
input2.value = document.getElementById('name_lv').value;

ла..ла

var input12 = document.getElementById('image').cloneNode(1);

form.appendChild(input1);
form.appendChild(input2);
ла..ла
form.appendChild(input12);

var forma = document.getElementById('hidden_form').appendChild(form);
forma.submit();
}


Как видите, этой строкой
Код

var input12 = document.getElementById('image').cloneNode(1);

я копирую <input type='file' id='image' /> в динамическую форму
При этом браузеры Opera, FireFox передают динамическую форму как надо и отсылают вложенный файл.
НО IE не делает этого (то есть вложенный файл не пересылается на сервер в динамической форме). Мне бы хотелось кроссбраузерное решение, чтобы и IE вкладывал прикрепленный файл в форму и высылал мне его на сервер:-)

Может быть кто-то знает решение  smile


--------------------
Могу все, но ничего не умею :-)
PM WWW   Вверх
vasac
Дата 19.2.2007, 20:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1060
Регистрация: 4.5.2006

Репутация: 13
Всего: 36



Что заставляет формировать новую форму вместо отправки уже существующей?
PM WWW   Вверх
Black
Дата 19.2.2007, 20:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Web-Development
**


Профиль
Группа: Участник
Сообщений: 980
Регистрация: 15.8.2004

Репутация: 4
Всего: 45



Цитата(vasac @  19.2.2007,  20:19 Найти цитируемый пост)
Что заставляет формировать новую форму вместо отправки уже существующей?

потому что форма содержит большое кол-во полей, которы JavaScript'ом проверяются и формируется строка специального нужного формата, которая передается скрипту.

То есть большое input type='text' записывается в итоге в один input type='text'

Вообщем, можно, конечно, и первоначальную форму отправить, но все таки обидно, что зря писал динамическое формирование формы :-)
Хотелось бы узнать может можно и в IE скопировать type='file'


--------------------
Могу все, но ничего не умею :-)
PM WWW   Вверх
Black
Дата 19.2.2007, 21:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Web-Development
**


Профиль
Группа: Участник
Сообщений: 980
Регистрация: 15.8.2004

Репутация: 4
Всего: 45



Вообщем, сделал немного по-другому.

Я добавил еще одну форму, в которой есть одно поле 
Код

<input type='file' name='image' />

А все остальные поля динамически добавляются javascript'ом и затем эта форма отправляется на сервер.
Работает теперь везде: IE, Opera, FireFox

Вот.


--------------------
Могу все, но ничего не умею :-)
PM WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0631 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.