Привет,
У меня есть несколько элементов типа файла ввода, например:
<input type="file" name="files" id="file0">
<input type="file" name="files" id="file1">
<input type="file" name="files" id="file2">
...
Этот элемент привязан к событию изменения jquery, как это:
$('input[type=file]').change(FileChangeHandler);
FileChangeHandler выглядит следующим образом (не важно, что это важно, но я публикую это другим способом):
function FileChangeHandler() {
if($(this).val().length > 0){
UpdateFileInputs();
}
}
function UpdateFileInputs()
{
var hiddenClass = 'fileHidden';
var visibleClass = 'fileVisible';
var emptyAndVisibleFound = false;
if(!FileThresholdReached())
{
for(var i = 0; i < 10; i++){
if($('#fileInput' + i).hasClass(visibleClass)){
if($('#file' + i).val().length < 1){
if(!emptyAndVisibleFound){
emptyAndVisibleFound = true;}
else{
$('#fileInput' + i).attr('class' , hiddenClass);}
}
}
else{
if(!emptyAndVisibleFound){
$('#fileInput' + i).attr('class' , visibleClass);
emptyAndVisibleFound = true;
}
else{
$('#fileInput' + i).attr('class' , hiddenClass);}
}
}
}
}
Проблема: Проблема в том, чтов IE8 изменение, по-видимому, инициируется первым, когда элемент входного файла теряет фокус (не до или после файлового браузера).В FireFox изменение производится сразу после закрытия файлового браузера?В этом случае я предпочитаю способ Firefox.
Как я могу решить это?
BestRegards
Примечание: я пытался создать jsfiddle.Чистый пример, но это не показывает проблему: http://jsfiddle.net/snowman/NCQ5J/
ОБНОВЛЕНИЕ: Мне удалось получить рабочий пример, пожалуйста, посмотрите здесь: http://www.test.figurspel.net/