Диалог jQuery не работает внутри условия if

#javascript #jquery

#javascript #jquery

Вопрос:

Это моя функция jQuery, за которой следует HTML-код.

 $(document).ready(function() {
$('#submit').click( function() {
        var size = $('#file')[0].files[0].size;

        if(size > 100000) 
        {
            alert("Filesize is larger. Please try again.");
        }
  });

});

<div id="dialog" title="Message" style="display: none">
    <p>File size larger.</p>
</div>
 

Если я заменю на alert() , $( "#dialog" ).dialog(); это не сработает. Однако, если место $( "#dialog" ).dialog(); снаружи if() , оно работает. Есть ли какое-либо решение проблемы, с которой я столкнулся?

Приветствуется любая форма помощи. Спасибо.

Комментарии:

1. Это if(size > 100000) должно быть if(fsize > 100000) fsize

2. Извините, это была опечатка, когда я скопировал ее сюда.

3. Находится ли ваш div-диалог вне тега script?

4. Работает для меня jsfiddle.net/btL9C/4 Проверьте, не превышает ли ваш файл заданный размер во время тестирования

5. Предупреждения отлично работают внутри условий if. Ваша проблема где-то в другом месте. Просто отладьте свой скрипт и проверьте, правильны ли ‘if condintion’, переменная ‘size’ и селектор jQuery.

Ответ №1:

Попробуйте это :

 $(document).ready(function() {
$('#submit').click( function() {
var size = $('#file')[0].files[0].size;
if(size > 100000) 
        {
         document.getElementById("dialog").innerHTML = "Filesize is larger. Please try again.;"
        }
  });
});


<div id="dialog" title="Message"></div>
 

ДЕМОНСТРАЦИЯ : http://jsfiddle.net/8L2S4/

Надеюсь, это сработает.

Комментарии:

1. Спасибо. Это работает, но это не совсем то, что я хотел.