當用戶從打開的對話框中選擇一個文件(圖像,視頻等..)我會自動提交表單,我期待從我的控制器方法獲取迴應,告訴您是成功還是錯誤。jquery .submit with function()不會觸發,沒有函數()它會
如果我叫了jQuery提交類似,因此將正常工作:一旦
$("#fileupload2").submit(); //fileupload2 is a form tag
我添加這樣的事情也不會:
$("#fileupload2").submit(function() { alert('hello'); });
我不知道爲什麼作爲一旦我添加它的函數將不會被調用。我沒有在瀏覽器開發工具中看到的錯誤。我的HTML看起來像這樣:
<form id="fileupload2" action="/Home/UploadFiles" method="POST" enctype="multipart/form-data">
<div class="btn btn-success fileinput-button">
<i class="icon-plus icon-white"></i>
<span>Add files...</span>
<input id="fileupload" type="file" onchange="uploadSelectedFile(this);" name="file">
</div>
@*<input type="submit" />*@
</form>
<script>
$(document).ready(function() {
$("#fileupload2").submit(function (e) {
alert('hello'); $.post('/Home/UploadFiles', $('#fileupload2').serialize(), function (data) {
alert(data);
});
return false;
});
});
function uploadSelectedFile() {
$("#fileupload2").submit();
}
</script>
我在調用uploadSelectedFile方法onchange調用jquery提交。任何意見或想法,爲什麼發生這種情況我會很感激。對我來說這似乎是正確的。
控制器的方法:
[HttpPost]
public ActionResult UploadFile() {
//Some code
return Json("success"); //or error
}
什麼是你想怎麼辦?把一個函數爲它意味着你正在創建一個回調函數,當表單提交是 –
我試圖得到迴應從那裏的形式被髮布 – TMan