Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Добавить ещё один <input type="file" name="filename"> при выборе файла
 
 автор: himic   (25.03.2008 в 09:56)   письмо автору
 
 

Задача:
JS-ом добавить в форму ещё один <input type="file" name="filename"> при выборе файла, с возможностью удаления инпута.
Хочу сделать загрузку как на яндексе

   
 
 автор: Antohins   (25.03.2008 в 11:22)   письмо автору
 
   для: himic   (25.03.2008 в 09:56)
 

Попробуйте подгрузить ajax'oм с помощью библиотеки jquery .

function load_ofset()
{
var sel = $("#bumaga");    // найти <select id="my_select">...</select> и добавляем к нему <option value="1">Пример Опции</option>.
            $("<option></option>")     // создаем требуемый элемент.
  .attr("value", "ofset")          // устанавливаем значение одного из его атрибутов. в примере это "1".
  .html("Офсет")                 // записываем в него текст. в примере это "Пример Опции".
  .appendTo(sel);             // прикрепляем к уже существующему элементу.
   }


Например эта функция подгружает в селект с id = bumaga новый оптион.
в интернете много инфы про эту библиотеку

   
 
 автор: himic   (25.03.2008 в 12:29)   письмо автору
 
   для: Antohins   (25.03.2008 в 11:22)
 

нееее, зачем, если можно формы набросать Скриптом

Вот тут идут работы
http://www.titus.kz/admin2/add_news.php
Там внизу формочка, при выборе ФАЙЛА РЯДОМ ДОЛЖНА ПОЯВИТЬСЯ ЕЩЁ ОДНА ТАКАЯ, только чтоб значение в первой не пропадало, если использовать innerHTML.

   
 
 автор: Antohins   (25.03.2008 в 13:25)   письмо автору
 
   для: himic   (25.03.2008 в 12:29)
 

открой исходники яндекса))

   
 
 автор: himic   (25.03.2008 в 13:56)   письмо автору
 
   для: Antohins   (25.03.2008 в 13:25)
 

Через ФТП откроется?

   
 
 автор: CrazyAngel   (25.03.2008 в 16:10)   письмо автору
 
   для: himic   (25.03.2008 в 13:56)
 

зачем? просто посмотрите html код

   
 
 автор: Drago   (25.03.2008 в 23:35)   письмо автору
 
   для: CrazyAngel   (25.03.2008 в 16:10)
 

to himic

Посмотрите пост cheops'а в теме
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=14370

   
 
 автор: himic   (26.03.2008 в 12:57)   письмо автору
 
   для: Drago   (25.03.2008 в 23:35)
 

Ну вобщем то своими силами справился

Может кому то пригодится рабочи пример
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"></HEAD>
<BODY>
<table width="100" border="1" cellpadding="10" cellspacing="0" bgcolor="#CCCCCC">
  <tr>
    <td>
<div id="f"><table width="100" border="0" align="left" cellpadding="3" cellspacing="0" style="border:1px solid #999999">
  <tr>
    <td><span onClick="del_form(this);">Фaйл:</span></td>
  </tr>
  <tr>
    <td><input type="file" name="file_name" onChange="javascript:add_form();"></td>
  </tr>
  <tr>
    <td>изменить при загрузке <br>
        <input type="text" name="width" size="3">
      X
      <input type="text" name="height" size="3" disabled="disabled"></td>
  </tr>
</table><input type="hidden" name="count_f" value="1"></div>
    </td>
  </tr>
</table>         
<script LANGUAGE=JavaScript>

function add_form(){
var count_f=document.getElementById('count_f').value;

newElem = document.createElement("span");
newElem.setAttribute("id","sp"+count_f);
//newElem.innerHTML='<table id="table'+(Number(count_f)+1)+'" width="100" border="0" align="left" cellpadding="3" cellspacing="0" style="border:1px solid #999999"><tr><td><span onClick="del_form(table'+(Number(count_f)+1)+');">Фaйл:'+(Number(count_f)+1)+'</span></td> </tr><tr><td><input type="file" name="'+Number(count_f)+1+'" onChange="javascript:add_form();" value="regser"></td></tr><tr><td>изменить при загрузке <br><input type="text" name="width" size="3">X<input type="text" name="height" size="3" disabled="disabled"></td></tr></table>';
newElem.innerHTML='<table id="table'+(Number(count_f)+1)+'" width="100" border="0" align="left" cellpadding="3" cellspacing="0" style="border:1px solid #999999"><tr><td><span onClick="del_form(table'+(Number(count_f)+1)+');"><strong>Фaйл: '+(Number(count_f)+1)+'</strong></span></td>    <td align="right"><img src="../body/b_drop.png" style="cursor:pointer"></td>  </tr>  <tr>    <td colspan="2"><input type="file" name="'+Number(count_f)+1+'" onChange="javascript:add_form();"></td>  </tr>  <tr>    <td colspan="2">изменить при загрузке <br>        <input type="text" name="width" size="3">      X      <input type="text" name="height" size="3" disabled="disabled"></td>  </tr></table>';
parentNode=document.getElementById('f');
parentNode.appendChild(newElem);
//document.body.appendChild(parentNode);
document.getElementById('count_f').value=Number(count_f)+1;
}

  function del_form(o){
o.parentNode.removeChild(o);

 }
</script>

</BODY>
</HTML>

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования