Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Добавление и удаление поля формы, Хочется доработать скрипт 
:(
    Опции темы
sunkitten
Дата 26.5.2008, 14:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 8.4.2008

Репутация: нет
Всего: нет



Добрый день господа.
Есть несложный рабочий кроссбраузерный скрипт, позволяющий добавлять и удалять файловое поле.
Код

<script language="JavaScript" type="text/javascript">
<!--
function del(val)
{
    if(document.getElementById)
    {
        while (val.tagName != 'TR')
        {
            val = val.parentNode;
        }
        val.parentNode.removeChild(val);
    }
}
function add(val)
{
    if(document.getElementById)
    {
        while (val.tagName != 'TR')
        {
            val = val.parentNode;
        }
        var newTr = val.parentNode.insertBefore(val.cloneNode(true),val.nextSibling);
    }
}
//-->
</script>

и HTML код формы
Код

<form enctype="multipart/form-data" method=post>
<table>
  <tr>
    <td><input type="file" name="myfile[]"></td>
    <td><input type="button" value=" - " onclick="del(this);">
        <input type="button" value=" + " onclick="add(this);"></td>
  </tr>
</table>
<input class=button type=submit value="Upload">
</form>


Скрипт рабочий и он был бы вообще супер, если бы не два момента.
Первая - когда добавляем новой поле, оно появляется со значением предыдущего поля, а очень хотелось бы появление чистого.
Вторая - удаляя поля есть возможность удалить последнее, а очень хочется его оставить. То ли кнопку удаления задисейблить, толи вообще убрать у этого поля кнопку удаления...

На данном форуме около 20 тем я просмотрел с аналогичными вопросами, но к сожалению ничего подходящего не нашел. В какой-то теме нашел линк на *http://wdh.suncloud.ru/dhtml03.htm, сходил, покурил, но не торкнуло...

Может мне кто-нибудь помочь?  smile  smile 

Это сообщение отредактировал(а) sunkitten - 26.5.2008, 15:15
PM MAIL   Вверх
Michael.de
Дата 26.5.2008, 18:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 346
Регистрация: 22.3.2005
Где: Deutschland

Репутация: 4
Всего: 9



sunkitten:
1. а какая проверка в этом if происходит??
Код
if(document.getElementById){...}

2. Я бы убрал кнопки '+' и '-' из строки с input - зачем их "клонировать" smile
PM MAIL   Вверх
sunkitten
Дата 27.5.2008, 23:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 8.4.2008

Репутация: нет
Всего: нет



Ах уважаемый Michael.de, я бы с удовольствием ответил на Ваш вопрос, если бы знал что необходимо ответить. Скрипт написал естественно не я. Я даже не помню, где взял его. Просто когда попадается что-то полезное, сохраняю у себя на винте, а потом когда нужно выискиваю и пытаюсь приспособить.
Если Вам не составляет труда - внесите изменения в скрипт, по возможности учитывая мои пожелания.
Это хороший, небольшой и кроссбраузерный пример. Он пригодится многим людям. Его конечно можно использовать и в таком виде, но те два момента не дают мне покоя.

 smile  smile  smile 
PM MAIL   Вверх
Padonak
Дата 29.5.2008, 23:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 63
Регистрация: 29.5.2008
Где: Ростов-на-Дону

Репутация: 2
Всего: 2



sunkitten, посмотри ты т а к хотел?
PM MAIL WWW ICQ   Вверх
sunkitten
Дата 30.5.2008, 00:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 8.4.2008

Репутация: нет
Всего: нет



Да г-н Padonak, оба моменты учтены. Спасибо.
Кстати, это понадобится всем девелоперам, которые стремятся к повышению юзабельности и кроссбраузерности. Дело в том, что новая версия "Огнелиса" (Firefox Setup 3.0 релиз кандидат) очень странно ведет себя с файловыми полями.
К примеру есть форма на сайте. Зверьки её заполняют. Выбирают файл для закачки (картинка, txt, не важно какой файл). А потом передумывают добавлять этот файл. И если в других бросверах, что бы избежать загрузки выбранного файла, можно поставить курсор в файловое поле формы и очистить его, то последний огнелис этого сделать не даст, и остается либо аплоадить нежеланный файл, либо перегружать страницу с формой...

Я бы прибавил репутации Вам, да слабоват ещё в коленках  smile 

Это сообщение отредактировал(а) sunkitten - 30.5.2008, 00:11
PM MAIL   Вверх
Padonak
Дата 30.5.2008, 00:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 63
Регистрация: 29.5.2008
Где: Ростов-на-Дону

Репутация: 2
Всего: 2



ты это прекращай камрад придумал тоже меня господином обзывать smile или это ты там другое слово сократил? user posted image подошло и слава богу

Это сообщение отредактировал(а) Padonak - 30.5.2008, 00:17
PM MAIL WWW ICQ   Вверх
SelenIT
Дата 30.5.2008, 01:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 7
Всего: 401



Цитата(sunkitten @  30.5.2008,  00:09 Найти цитируемый пост)
И если в других бросверах, что бы избежать загрузки выбранного файла, можно поставить курсор в файловое поле формы и очистить его

Safari, насколько мне известно, тоже не позволяет (более того, там и поля-то нет). Вообще последняя тенденция - минимизировать возможности для манипуляций с полем аплоуда (помимо вызова стандартного диалога), на всякий пожарный и во избежание... А какой-то из IE, насколько я помню, при попытке отправить форму, в которой поле аплоуда поредактировали руками и в нем остался несуществующий путь, вообще валился с системной ошибкой...


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
sunkitten
Дата 30.5.2008, 18:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 8.4.2008

Репутация: нет
Всего: нет



Padonak, да нет, это всего-лишь проявление уважения и благодарности за выполненную просьбу  smile 

Мне интересно - это я один заморачиваюсь над этим и всем остальным девелоперам "накласть" на это?!
Может мне пересмотреть свою внутреннюю политику и моральные устои  smile 
PM MAIL   Вверх
Padonak
Дата 30.5.2008, 21:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 63
Регистрация: 29.5.2008
Где: Ростов-на-Дону

Репутация: 2
Всего: 2



Цитата(sunkitten @ 30.5.2008,  18:21)
Мне интересно - это я один заморачиваюсь над этим и всем остальным девелоперам "накласть" на это?!
Может мне пересмотреть свою внутреннюю политику и моральные устои  smile

не знаю тут каждый поступает как ему хочется. люди-то разные сам знаешь. тут на форумах таких все так же как в реальной жизни. люди бывают разные причем это не всегда зависит от уровня их интеллектуального развития. кто-то сюда ходит чтобы самоутвердиться и почувствовать себя мегагуру а кто-то просто любит помочь другому челу. 

кстати я могу поспорить что тут кишмя кишит еще и челов которые сами нифига делать не хотят а рассчитывают что тут непременно найдется дауноватый энтузиаст который сделает за них какой-нибудь зачет пока они квасят пиво с телками. я видал такое неоднократно честное слово! причем не только на русских форумах. таких хитропенетрированных перцев навалом например на webdeveloper.com хотя там есть и крайне продвинутые умнейшие чуваки.

вобщем ты сильно не заморачивайся моральными всякими моментами. самое важное - это четко понимать что какой бы ты не был умный всегда существует еще более умный чел просто возможно он сидит на другом форуме или даже вообще не ходит по форумам smile 

думаю что наши последние посты скорее всего потрут как оффтоп smile 
PM MAIL WWW ICQ   Вверх
AKS
Дата 31.5.2008, 07:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Участник форума
**


Профиль
Группа: Участник
Сообщений: 725
Регистрация: 20.9.2006

Репутация: нет
Всего: 52



Цитата(sunkitten @  30.5.2008,  18:21 Найти цитируемый пост)
Может мне пересмотреть свою внутреннюю политику и моральные устои   

Да, именно это и нужно сделать, чтобы не возникали вопросы, вроде: "всем остальным девелоперам "накласть" на это?!".
Начать надо с прочтения вот этой статьи: Как правильно задавать вопросы.

PM MAIL   Вверх
sunkitten
Дата 6.6.2008, 21:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 8.4.2008

Репутация: нет
Всего: нет



Не хочу флеймить, но все таки спрошу: г-н AKS, я не правильно задал вопрос? Или чего??
Скажите - как непосредственно Вы решаете проблему, описанную мною выше?
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0545 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.