2014-01-13 4 views
1

У меня есть следующий фрагмент кода, но он всегда дает мне сообщение об ошибке «Объект не поддерживает свойство или метод« ajaxSubmit ». Я не уверен, где моя ошибка ... Может ли кто-нибудь мне помочь?Во всех браузерах «Объект не поддерживает свойство или метод« ajaxSubmit »«

<script src="/Scripts/jquery.color.js"></script> 
<script src="/Scripts/jquery.Jcrop.min.js"></script> 
<script src="/Scripts/jquery.form.js"></script> 
<script> 
$(document).ready(function() { 
    var wrapper = $('<div/>').css({ height: 0, width: 0, 'overflow': 'hidden' }); 
    var fileInput = $(':file').wrap(wrapper); 
    $('#BTN_Upload').click(function() { 
     fileInput.click(); 
    }).show(); 
    $("#INPUT_Upload").change(function() { 
     var options = { 
      target: '#DIV_UploadedImages', 
      beforeSubmit: showRequest, 
      success: showResponse, 
      dataType: "json", 
      clearForm: true, 
      resetForm: true 
     }; 
     $('#FORM_ImageUpload').ajaxSubmit(options); 
    }); 
}); 
</script> 

HTML:

<form id="FORM_ImageUpload" method="post" action="~/Async/UploadImage"> 
    <input type="file" value="Post" id="INPUT_Upload"> 
    <img src="~/Images/button_add_pictures.jpg" id="BTN_Upload" class="ProfileButton" /> 
</form> 
+0

Это не дубликат, я использовал этот сценарий на сайте плагина, и я использовал его правильно. – user2227904

+1

Вы уверены, что jquery.form.js загружен успешно? Я имею в виду ошибку 404 – Curious

+0

Мне удалось найти ее с помощью инструментов отладки. То же самое произошло, когда я загрузил его онлайн-копией плагина. – user2227904

ответ

1

Поскольку я новичок в MVC, и я полностью забыл, что MVC автоматически добавляет jquery к своим проектам, я включил еще одну ссылку на нее в коде, который вызвал проблему.

Подводя итог: Если вы связали дважды jquery-jquery-form, это не сработает.

1

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

Вот минимум кода, который должен работы:

<!DOCTYPE html> 
<html> 
<head> 
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script> 
<script src="http://malsup.github.io/jquery.form.js"></script> 
<script> 

alert($.fn.ajaxSubmit); 

</script> 
</head> 
<body> 

</body> 
</html> 

Он предупреждает исходный код ajaxSubmit метода. Вы можете добавить части своего кода, пока он не оповещает undefined, а затем вы узнаете, почему он не работает.

Я всегда использую этот подход.

Надеюсь, это поможет!

+0

Я понимаю это, но это точно моя проблема. То, что даже пустой запуск дает мне неопределенное. Независимо от того, как я пытаюсь, я не понимаю, почему это не определено. – user2227904