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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> confirm для <input type=”file”> в IE6, IE7, IE8, при клике в поле отображения имени файла 
:(
    Опции темы
Roy
  Дата 8.3.2010, 20:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



При нажатии кнопки выбора файла или клике в области, где отображается имя выбранного файла,
должно сначала отображаться диалоговое окно confirm

далее при нажатии:
«OK» - должно появиться стандартное для <input type =”file”> диалоговое окно выбора файла
«Cancel» - ничего не должно происходить.

Код

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
    <title>Test</title>
    <script language="JavaScript">
      function show_confirm()
      {
        var result = confirm("Information message");
        if (result == true)
        {
          return true;
        }
        else
        {
          return false;
        }
      }
    </script>
</head>
<body>
  <form action="upload.php">
        <input type="file" name="uploadNewFile" id="uploadNewFile" accept="application/pdf" size="60" onclick="return show_confirm();">
  </form>
</body>
</html>


Проблема в том, что в IE (6-8) это работает только при нажатии на кнопке, а в FireFox и Chrome работает как при нажатии на кнопке, так пи при клике в области отображения имени файла. Почему так происходит? – загадка. Возможно ли в IE добиться такого же эффекта, которым обладает скрипт в FF и Chrome?

Примечания:
1.Вместо
Код

return true;

пробовал
Код

document.getElementById('uploadNewFile').click();

не помогло.
2. В Opera та же проблема, что и в IE.



Это сообщение отредактировал(а) Roy - 8.3.2010, 21:33
PM MAIL   Вверх
Onis
Дата 11.3.2010, 20:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 241
Регистрация: 18.6.2005
Где: Украина, Николаев

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



Код

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<html>
    <head>
        <script>
            window.onload = function(){
                document.getElementById("fUpload").onmousedown = function()
                {
                    if(window.confirm('sure'))
                    {
                        document.getElementById("fUpload").click();
                        return false;
                    }
                    return false;
                }
            }
        </script>
    </head>
    <body>
            <input type="file" id="fUpload"/>
    </body>
</html>



Это сообщение отредактировал(а) Onis - 11.3.2010, 21:12
PM MAIL   Вверх
Onis
Дата 11.3.2010, 21:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 241
Регистрация: 18.6.2005
Где: Украина, Николаев

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



Вот так вроде работает в ie6.
PM MAIL   Вверх
Roy
Дата 18.3.2010, 14:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Thanks!  smile 
Работает не только в IE6 но и выше. Красивое решение. Я в попытках ушел в более громоздкие дебри - пытался заставить работать через триггеры в jQuery или прятать input=file в display:none и вызывать ее из имитирующей комбинации input+text и button.
Осталось скомпоновать чтобы работало и в FF. smile


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


 




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


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

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