Форум программистов, компьютерный форум, киберфорум
Наши страницы
jQuery
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
donvasin
2 / 2 / 0
Регистрация: 29.04.2014
Сообщений: 31
1

Из-за return false перестало работать стандартное действии при нажатии на <input type="file">

05.06.2014, 20:48. Просмотров 643. Ответов 2
Метки нет (Все метки)

Всем привет!
Назрел вопрос, мучаюсь, пока сам не допер как сделать:

Есть модальное окно, по нажатию за пределами которого идет location.reload, при нажатии на само окно идет return false.
Так вот из-за этого return false перестало работать стандартное действии при нажатии на <input type="file">
Как решить проблему?

Javascript
1
2
3
4
5
6
7
8
9
10
11
$(document).ready(function(){
 
$('div#background').click(function() {
location.reload();
});
 
$('div#wrapper').click(function() {
return false;
});
 
});
Добавлено через 36 минут
Отчасти головоломку решил, но корректно работает только если выбрать что-нибудь в input file.
Кто что посоветует

Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
function bg_reload() {
$('div.background').click(function() {
location.reload();
}); 
}
 
function wrapper_stop() {
$('div#wrapper').click(function() {
return false;
}); 
}
 
$(document).ready(function(){
 
bg_reload();
wrapper_stop();
 
$('input#file').click(function() {
$('div.background').unbind('click');
$('div#wrapper').unbind('click');
});
 
$("input#file").change(function () {
bg_reload();
wrapper_stop();
});
 
});
Добавлено через 9 минут
Решил проблему поставив таймаут..
Есть ли решения проще?

Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
function bg_reload() {
$('div.background').click(function() {
location.reload();
}); 
}
 
function wrapper_stop() {
$('div#wrapper').click(function() {
return false;
}); 
}
 
$(document).ready(function(){
 
bg_reload();
wrapper_stop();
 
$('input#file').click(function() {
$('div.background').unbind('click');
$('div#wrapper').unbind('click');
setTimeout(function(){bg_reload()},500);
setTimeout(function(){wrapper_stop()},500);
});
 
});
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.06.2014, 20:48
Ответы с готовыми решениями:

Как проконтролировать размер файла при upload'е через input type="file"?
Имеем форму для заливки файлов (фотографий) на сервер организованную посредством &lt;input...

Загрузка картинка в img (через input type="file")
У меня на странице есть ссылка &lt;a href=&quot;javascript:showFrm()&quot;&gt;Загрузить...&lt;/a&gt; и скритый тэг...

Не отображаются картинки в Chrome из input type="file"
С помощью jQuery создаю img-контейнер. var div_img=$('&lt;img&gt;').attr('class',...

Удаление поля input type="file" с заданным именем файла
Если у меня есть несколько полей для прикрепления файлов input type=&quot;file&quot;, как можно удалить...

Попытка открыть диалог выбор файла input type="file" через jq
&lt;form method=&quot;post&quot; enctype=&quot;multipart/form-data&quot;&gt; &lt;input type=&quot;file&quot;...

2
Vladislav WebDev
326 / 216 / 97
Регистрация: 04.11.2012
Сообщений: 638
06.06.2014, 06:21 2
donvasin, просто остановите всплывание события при клике на инпут
Javascript
1
2
3
$('input').on('click', function(e) {
  e.stopPropagation();
})
1
donvasin
2 / 2 / 0
Регистрация: 29.04.2014
Сообщений: 31
08.06.2014, 03:15  [ТС] 3
Suby, спасибо, попробую такой вариант тоже!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.06.2014, 03:15

Как вытащить из <input type="file" ...> полный путь к файлу на клиенте?
Собственно, сабж. Пробовал метод GET вместо POST, которым обычно пользуются при использовании...

Как отловить событие загрузки файла в теге input type="file"
accept почему-то не работает, решил сделать проверку на формат через js, как и всю остальную форму....

Изменить значение input type="file"
Как присвоисть одному input для ввода файла, значение другого input для ввода файла?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru