Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
polbear
1

Скрипт перестал работать в новых версиях firefox, Opera и Chrome, а в IE работает

30.06.2011, 09:59. Показов 2233. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Скрипт позволял загружать "неограниченное" количество картинок, налету генерируя новые формы, но всё накрылось! Скрипт-то работает, но вот браузеры при передаче обработчику теряют данные.
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function dropFile(btn)
{
  if(document.getElementById)
  {
    while (btn.tagName != 'DIV') btn = btn.parentNode;
    btn.parentNode.removeChild(btn);
  }
}
function addFile(btn)
{
  if(document.getElementById)
  {
    while (btn.tagName != 'DIV') btn = btn.parentNode;
    var newTr = btn.parentNode.insertBefore(btn.cloneNode(true),btn.nextSibling);
    }
}
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<div>
<table>
<tr>
<td>Большое фото</td>
<td>Маленькое фото
<input type="button" name="drop" value=" &minus; " onclick="dropFile(this);">
<input type="button" value=" + " onclick="addFile(this);">                      
</td>
</tr>
<tr>
<td><input type="file" size="32" name="big[]"></td>
<td><input type="file" size="32" name="mini[]"></td>
</tr>
</table>
</div>
В PHP фотки принимает скрипт и обрабатывает массив
PHP
1
$_FILES['big']['name'][$i]
Проблема: В Internet Explorer всё работает как и раньше, а вот в других браузерах, после выхода новых версий, скрипт перестал передавать массив
Код
[big] => Array
        (
            [name] => Array
                (
                    [0] => 
                    [1] => 
                )

            [type] => Array
                (
                    [0] => 
                    [1] => 
                )
а передает только первый файл, т.е. массив
Код
[big] => Array
        (
            [name] => Array
                (
                    [0] => 
                )

            [type] => Array
                (
                    [0] => 
                )
Вопрос: Что изменилось в браузерах принципиально, как решить проблему, что читать?

Добавлено через 1 час 34 минуты
Поправка: Сам скрипт работает, формы рисует, просто по неведомой причине браузеры перестали понимать name="array[]" и не передают массивы...

Ещё одна радость!!! Попытался изменить имена: big1, big2 и т.д. но сгенерированные формы отказываются передавать данные файлов.
Тогда я просто сгенерил обыкновенный input
Javascript
1
2
3
4
5
1   var myInput = document.createElement('input');
2   myInput.setAttribute('type','text');
3   myInput.setAttribute('name','11111');
4   myInput.setAttribute('value','123456');
5   btn.appendChild(myInput);
Форма генерится. Отправляем. И видим, что переменная '11111' в массиве $_POST отсутствует! А в Internet Explorer опять всё работает!!!

Добавлено через 18 часов 8 минут
Вопрос решен. Тему можно закрывать.
При добавлении javascript'om новых элементов формы закрывающий тег </form> почему-то исчезал. Вынесли тег за пределы таблицы: <form><table>...</table></form> Всё стало работать как надо! Всем спасибо за сочувствие и помощь.
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.06.2011, 09:59
Ответы с готовыми решениями:

Почему скрипт не работает в Chrome, а в Firefox и Opera работает?
Имеется обычный код JS, работающий в Firefox и Opera, но не работающий в Chrome. Кстати хотел ещё...

Скрипт работает в Opera и Firefox, но не работает в IE
В чём может быть проблема? Данный код не работает в IE (у меня 6 версия). Может существуют другие...

почему не работает скрипт в Chrome & Firefox'e
Прошу помочь разобраться почему не работает скрипт в хроме и файерфоксе ( не происходит переход со...

Пишем расширения к браузерам Chrome, Firefox и Opera (не 15+, которая с движком от хрома)
1. Что такое расширения к браузерам? Расширения к браузерам - это программы, которые внедряются в...

0
30.06.2011, 09:59
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.06.2011, 09:59
Помогаю со студенческими работами здесь

Не пашет jQuery скрипт в браузерах Opera и FireFox
Проблема в следующем. Не пашет скрипт в браузерах Opera и FireFox, а вот в Internet Explorer'е...

Не выполняется ajax-запрос в Google Chrome. В Opera и Firefox работает
Здравствуйте! Хотел реализовать автоматическое сохранение настроек модуля. Накидал такую...

Почему этот скрипт в Internet Explorer работает, а в Opera и Firefox нет?
&lt;html&gt; &lt;head&gt;&lt;title&gt;&lt;/title&gt;&lt;/head&gt; &lt;body&gt; &lt;table id=&quot;mytab&quot;&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt; ...

Chrome vs Opera vs Firefox
Нужен браузер, потребляющий мало оперативной памяти, функциональный и самый-самый. Выбор из Хрома,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru