Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 29.06.2011, 14:02
Новичок на форуме
Отправить личное сообщение для polbear Посмотреть профиль Найти все сообщения от polbear
 
Регистрация: 29.06.2011
Сообщений: 3

Скрипт перестал работать в новых версиях firefox, Opera и Chrome, а в IE работает
Скрипт позволял загружать "неограниченное" количество картинок, налету генерируя новые формы, но всё накрылось! Скрипт-то работает, но вот браузеры при передаче обработчику теряют данные.
Код:
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);
	}
}
Код:
<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 фотки принимает скрипт и обрабатывает массив
Код:
$_FILES['big']['name'][$i]
Проблема: В Internet Explorer всё работает как и раньше, а вот в других браузерах, после выхода новых версий, скрипт перестал передавать массив
Код:
[big] => Array
        (
            [name] => Array
                (
                    [0] => 
                    [1] => 
                )

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

            [type] => Array
                (
                    [0] => 
                )
Вопрос: Что изменилось в браузерах принципиально, как решить проблему, что читать?
Ответить с цитированием
  #2 (permalink)  
Старый 29.06.2011, 14:19
Профессор
Отправить личное сообщение для nikita.mmf Посмотреть профиль Найти все сообщения от nikita.mmf
 
Регистрация: 01.02.2010
Сообщений: 364

btn.nodeName.toLowerCase() != 'div'
Ответить с цитированием
  #3 (permalink)  
Старый 29.06.2011, 14:40
Новичок на форуме
Отправить личное сообщение для polbear Посмотреть профиль Найти все сообщения от polbear
 
Регистрация: 29.06.2011
Сообщений: 3

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

Ещё одна радость!!! Попытался изменить имена: big1, big2 и т.д. но сгенерированные формы отказываются передавать данные файлов. Тогда я просто сгенерил обыкновенный input
var myInput = document.createElement('input');
myInput.setAttribute('type','text');
myInput.setAttribute('name','11111');
myInput.setAttribute('value','123456');
btn.appendChild(myInput);

Форма генерится. Отправляем. И видим, что переменная '11111' в массиве $_POST отсутствует! А в Internet Explorer опять всё работает!!!

Последний раз редактировалось polbear, 29.06.2011 в 15:45.
Ответить с цитированием
  #4 (permalink)  
Старый 30.06.2011, 09:34
Новичок на форуме
Отправить личное сообщение для polbear Посмотреть профиль Найти все сообщения от polbear
 
Регистрация: 29.06.2011
Сообщений: 3

Всё проблема снята!
Тег формы находился так:
<table><form><tr>....</tr></form></table>
и после создания javascript'ом нового элемента формы закрывающий тег </form> по непонятным причинам исчезал, вообще пропадал, оставалось пустое место. (Понял, когда всё выделил и в firefox посмотрел "Исходный код выделенного фрагмента": новые формы есть, а тега </form> - нет). Написал так:
<form><table><tr>....</tr></table></form>
Всё стало работать как надо! Всем спасибо, за сочувствие и помощь.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
тег <audio> в Opera, Chrome, Firefox Magneto Javascript под браузер 12 25.11.2010 15:12
скрипт работает в IE не работает в Opera!!! Ikram Opera, Safari и др. 3 29.10.2010 10:04
Java скрипт не работает в Opera Eagle28 Ваши сайты и скрипты 3 07.04.2010 19:36
Скрипт меню не работает только в Firefox somatic Firefox/Mozilla 2 28.07.2009 03:23
Скрипт не работает в Opera, Firefox Faster Events/DOM/Window 2 08.08.2008 18:56