我正在使用
jquery.form
插件在 MVC 项目中异步上传文档。
根据我之前的回答,这是我在页面上的内容:
<% using(Html.BeginForm("Create", "JobFile", FormMethod.Post, new { id = "uploadForm", enctype = "multipart/form-data" })) %>
<% { %>
<%: Html.ValidationSummary() %>
<input type="file" id="fileToUpload" />
<input type="submit" value="Upload file" />
<input type="text" id="RelatedFileName" />
<% } %>
<script type="text/javascript" src="../../Scripts/jquery-1.4.1.min.js"></script>
<script type="text/javascript" src="../../Scripts/jquery.form.js"></script>
<script type="text/javascript">
$(function () {
$('#uploadForm').ajaxForm(function (result) {
if (result.errorMessage != '') {
alert(result.errorMessage);
} else {
$('#RelatedFileName').val(result.fileName);
}
});
});
</script>
我的问题是,当页面加载时,我收到以下 JavaScript 错误:
未捕获类型错误:对象#没有方法“ajaxForm”
的行上此错误出现在包含
$('#uploadForm').ajaxForm(function (result) {
谁能告诉我为什么会出现此错误?
、enctype 和 encoding="multipart/form-data"
var submitForm = function(_formId){
var _genMsg = $('#genMsg');
_submitForm = $('form').index($('#'+_formId));
if(subCommonForm(_submitForm, 'main')){
_genMsg.attr('class', 'information-box round');
_genMsg.html('Saving...');
$('#'+_formId).ajaxForm({
dataType: 'json',
success: function (data) {
_genMsg.attr('class', 'information-box round');
data.code == 0
? _genMsg.attr('class', 'confirmation-box round')
: _genMsg.attr('class', 'error-box round');
_genMsg.html(data.message);
_genMsg.fadeIn();
}
});
$('#'+_formId).submit();
}
};
<form>
对象的 ID 吗?如果是,那么您可能需要检查 FireBug 之类的东西,以确保您的插件正确包含在您的页面上。
$(function () {
在最新版本的 jQuery 中不起作用,必须使用:
$(document).ready(function () {
$('#your-form')
而不是
('#your-form')