Ira*_*ili 0 forms jquery onsubmit asp.net-mvc-3
我有提交按钮和input ='file'控件的html表单:
<form action="/Profile/UploadFile" enctype="multipart/form-data" method="post" onsubmit="OnUploadSubmit(this)">
Run Code Online (Sandbox Code Playgroud)
OnUploadSubmit函数如下所示:
if (e.files[0].size > 5000000) {
$('#upload_error').css('display', 'block');
$('#upload_error').text('The file size is too large for upload')
e.preventDefault();
return false;
}
var files = e.files;
var ext = $('#file_uploader').val().split('.').pop().toLowerCase();
if ($.inArray(ext, ['jpeg', 'jpg', 'png']) == -1) {
$('#upload_error').css('display', 'block');
$('#upload_error').text('Only, jpg, jpeg, png is allowed');
e.preventDefault();
return false;
}
return true;
}
Run Code Online (Sandbox Code Playgroud)
e.preventDefault()并返回false; 无论如何都不提交工作表格.
有谁知道我的问题是什么?
谢谢
首先你不能以这种方式使用preventDefault,因为你没有将事件对象传递给函数,接下来:
onsubmit="return OnUploadSubmit(this)"
Run Code Online (Sandbox Code Playgroud)
我推荐:
添加id属性并删除onsubmit:
<form id="upload" action="/Profile/UploadFile" enctype="multipart/form-data" method="post">
Run Code Online (Sandbox Code Playgroud)
jQuery的:
$(function(){ // Document Ready
$('#upload').submit(function(e){
e.preventDefault();
if (e.files[0].size > 5000000) {
$('#upload_error').css('display', 'block');
$('#upload_error').text('The file size is too large for upload')
}
var files = e.files;
var ext = $('#file_uploader').val().split('.').pop().toLowerCase();
if ($.inArray(ext, ['jpeg', 'jpg', 'png']) == -1) {
$('#upload_error').css('display', 'block');
$('#upload_error').text('Only, jpg, jpeg, png is allowed');
}
}
});
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5736 次 |
| 最近记录: |