Показать сообщение отдельно
  #9 (permalink)  
Старый 23.08.2011, 15:08
Интересующийся
Отправить личное сообщение для Nitro_Generate Посмотреть профиль Найти все сообщения от Nitro_Generate
 
Регистрация: 14.04.2011
Сообщений: 20

Очередная идея, очистить всю форму, а обратно вставить все кроме файлов
<form action="<?=$h?>new.html" method="post" id="fMain" enctype="multipart/form-data" name="add" >

<input id="f1" type="file" name="logo[]" /> 
    <input type="button" value="Удалить" onclick="ClearFile1('fMain');" />
<br /><input id="f2" type="file" name="logo[]" /> 
     <input type="button" value="Удалить" onclick="ClearFile2('fMain');" />
<br /><input id="f3" type="file" name="logo[]" /> 
     <input type="button" value="Удалить" onclick="ClearFile3('fMain');" />
<br /><input id="f4" type="file" name="logo[]" /> 
     <input type="button" value="Удалить" onclick="ClearFile4('fMain');" />


function ClearFile1(idForm)
{
   var form = document.getElementById(idForm);
   var values = new Array(form.elements.length);
   for (var i = 0; i < form.elements.length; i++) 
   {
      values[i] = form.elements.item(i).value;
   }
    form.reset();  
   for (var i = 0; i < form.elements.length; i++)
   {
      if(form.elements.item(i).id != 'f1') 
	        {
         form.elements.item(i).value = values[i];
      }
   }
}

function ClearFile2(idForm)
{
   var form = document.getElementById(idForm);
   var values = new Array(form.elements.length);
   for (var i = 0; i < form.elements.length; i++) 
   {
      values[i] = form.elements.item(i).value;
   }
    form.reset();  
   for (var i = 0; i < form.elements.length; i++)
   {
      if(form.elements.item(i).id != 'f2') 
	        {
         form.elements.item(i).value = values[i];
      }
   }
}

function ClearFile3(idForm)
{
   var form = document.getElementById(idForm);
   var values = new Array(form.elements.length);
   for (var i = 0; i < form.elements.length; i++) 
   {
      values[i] = form.elements.item(i).value;
   }
    form.reset();  
   for (var i = 0; i < form.elements.length; i++)
   {
      if(form.elements.item(i).id != 'f3') 
	        {
         form.elements.item(i).value = values[i];
      }
   }
}

function ClearFile4(idForm)
{
   var form = document.getElementById(idForm);
   var values = new Array(form.elements.length);
   for (var i = 0; i < form.elements.length; i++) 
   {
      values[i] = form.elements.item(i).value;
   }
    form.reset();  
   for (var i = 0; i < form.elements.length; i++)
   {
      if(form.elements.item(i).id != 'f4') 
	        {
         form.elements.item(i).value = values[i];
      }
   }
}

Пометил каждое поле файл формата своим id
для того что бы очищать единственное поле а не все сразу
продублировал скрипт 4 раза. Для каждого поля своя функция и свой id
Не работает, очищает сразу все 4 поля. Зато остальные сохраняются.
Ответить с цитированием