Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Проблема при передаче POST в firefox


Автор: jesk 3.1.2010, 13:25
Вообщем есть динамическая форма с заранее не известным количеством загружаемых картинок. Она формируется динамически
    
Код

<div id="img_body" value="0"></div>
                                       &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="button" class="insertImgForm" href="#" value="+">
            <a class="insertImgForm" href="#">Добавить</a><br><br>


код работает в связки jquery

каждому элементу динамически назначается свое name 
но возникла проблема
при передачи этих данных в firefox значения POST(пробовал и текстовые) так и значения массива FILES не передается и картинки соответственно не закачиваются.. В IE все работает. Как бороться с этой проблемой...

вот код динамически  сформированных трех полей
Код

<div id="img_body" value="0"><div class="id"><label> &nbsp;&nbsp;<input class="input" name="file1" size="93" maxlength="160" type="file"> 
<a class="insertImgForm" href="#"> </a><a class="deleteImgForm" href="#">Удалить</a></label></div><div class="id"><label> &nbsp;&nbsp;
<input class="input" name="file2" size="93" maxlength="160" type="file"> <a class="insertImgForm" href="#"> </a><a class="deleteImgForm" href="#">Удалить</a>
</label></div><div class="id"><label> &nbsp;&nbsp;<input class="input" name="file3" size="93" maxlength="160" type="file"> <a class="insertImgForm" href="#"> 
</a><a class="deleteImgForm" href="#">Удалить</a></label></div></div>

Автор: skyboy 3.1.2010, 13:31
ну, а что в таком случае находится в массиве $_FILES?

Автор: MoLeX 3.1.2010, 13:34
Код

<input class="input" name="file1"


дополни
Код

<input class="input" name="file1" id="file1"


и так для всех

Автор: jesk 3.1.2010, 13:35
Сори немного ошибся.... так как не получалось то пробовал передавать сначала текстовые поля.... там ситуация аналогична
при передачи картинок массив FILES также передается только в IE но не в firefoxe

подстановка id ситуацию не изменила

Автор: awdev 3.1.2010, 13:54
Может имеет смысл называть переменные как: name=file[], создавая массив.

и второе у вас в теге формы прописан аттрибут enctype ?

Автор: jesk 3.1.2010, 13:57
Цитата(awdev @  3.1.2010,  13:54 Найти цитируемый пост)
и второе у вас в теге формы прописан аттрибут enctype ? 


естественно прописан... 
да и я пробовал с текстовым форматом... такое чувство что он эти динамические формы просто не учитывает при передаче...
но в тоже время IE работает и передает все нормально

Автор: Ипатьев 3.1.2010, 15:59
Цитата(awdev @  3.1.2010,  13:54 Найти цитируемый пост)
Может имеет смысл называть переменные как: name=file[]

file1 гораздо удобнее

Автор: Simpliest 3.1.2010, 16:38
Цитата(jesk @  3.1.2010,  12:57 Найти цитируемый пост)
да и я пробовал с текстовым форматом... такое чувство что он эти динамические формы просто не учитывает при передаче...

Все учитывает.

Есть один нюанс. При добавлении формы яваскриптом. В FF и IE нужно устанавливать разные dom свойства
enctype и еще какое-то. 
Что для кого - не помню посмотри отладчиком.

Автор: lukas 4.1.2010, 17:56
Обычно в FF не работает отправка файла если у тега формы не прописано:

Код

enctype=multipart/form-data

Автор: IgorIV 4.1.2010, 19:29
jesk, чтобы не было пустых советов надо выкладывать всю форму. А не только этот обрезок.

Код

Это твоё, вот скажи какое твоё дело где у клиента лежит файл? Зачем ограничивать длину?

<div id="img_body" value="0">
    <div class="id"><label> &nbsp;&nbsp;
        <input class="input" name="file1" size="93" maxlength="160" type="file"> 
        <a class="insertImgForm" href="#"> </a>
        <a class="deleteImgForm" href="#">Удалить</a>
        </label>
    </div>
    <div class="id">
        <label> &nbsp;&nbsp;
        <input class="input" name="file2" size="93" maxlength="160" type="file"> 
        <a class="insertImgForm" href="#"> </a>
        <a class="deleteImgForm" href="#">Удалить</a>
        </label>
    </div>
    <div class="id">
        <label> &nbsp;&nbsp;<input class="input" name="file3" size="93" maxlength="160" type="file"> 
        <a class="insertImgForm" href="#"> 
        </a><a class="deleteImgForm" href="#">Удалить</a>
        </label>
    </div>
</div>


Это моё.
<form action="upload.php" method="post" enctype="multipart/form-data" name="form1" id="form1">

<input name="MAX_FILE_SIZE" value="" type="hidden">
Файл: <input name="uploadfile[]" size="60" type="file"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<div class="adv">

    <div id="advSelectors" class="advSelectors"><div style="padding: 5px;" class="advFile">
        <label style="padding-right: 10px;" for="file0">
        Файл: <input name="uploadfile[]" size="60" id="file0" type="file"></label>
        <a style="cursor: pointer;" class="removeLink">удалить</a>
    </div>
    <div style="padding: 5px;" class="advFile">
        <label style="padding-right: 10px;" for="file1">
        Файл: <input name="uploadfile[]" size="60" id="file1" type="file"></label>
        <a style="cursor: pointer;" class="removeLink">удалить</a>
    </div>
    <div style="padding: 5px;" class="advFile">
        <label style="padding-right: 10px;" for="file2">
        Файл: <input name="uploadfile[]" size="60" id="file2" type="file"></label>
        <a style="cursor: pointer;" class="removeLink">удалить</a>
    </div>
    <div style="padding: 5px;" class="advFile">
        <label style="padding-right: 10px;" for="file3">
        Файл: <input name="uploadfile[]" size="60" id="file3" type="file"></label>
        <a style="cursor: pointer;" class="removeLink">удалить</a>
    </div>
    <div style="padding: 5px;" class="advFile">
        <label style="padding-right: 10px;" for="file4">
        Файл: <input name="uploadfile[]" size="60" id="file4" type="file"></label>
        <a style="cursor: pointer;" class="removeLink">удалить</a>
    </div>
    </div>
     <div id="addLinks" class="addLinks" style="cursor: pointer;">
            <a id="addNewLink" onclick="addNewUpload(this)" title="Добавить еще 1 файл">+ 1</a>

            <a id="addNewLink5" onclick="addMultiUpload(5)" title="Добавить еще 5 файлов">+ 5</a>
            <a style="display: none;" id="addNewLink10" onclick="addMultiUpload(10)" title="Добавить еще 10 файлов">+ 10</a>
     </div>
     <br><input name="upload" value="Закачать" type="submit">
</div>

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)