(我使用ASP.NET,MVC 4,C#,Bootstrap,Javascript。)
我有一个表单来上传文件(多个),它的效果很好,这就是表格:
@using (Html.BeginForm("Index", "Home", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
<table>
<tr>
<td>Choose a filter:</td>
<td style="margin-bottom:auto">
@Html.DropDownList("filterProfile", (SelectList)ViewBag.FilterList)
</td>
</tr>
<tr>
<td>File:</td>
<td><input type="file" name="Files" id="Files" multiple /></td>
</tr>
<tr>
<td> </td>
<td><input type="submit" name="submit" value="Filter" /></td>
</tr>
</table>
}
因为上传文件可能需要一点时间,我认为弹出警报说我们处理你的文件会很好,所以我在表单中添加了一个ID,如下所示:
<tr>
<td> </td>
<td><input type="submit" name="submit" id="alertMe" value="Filter" /></td>
</tr>
</table>
您可以看到ID是&#39; alertMe&#39;。
然后我在JS文件中写了这段代码:
$(function () {
$('#alertMe').click(function (e) {
e.preventDefault();
$('#processAlert').slideDown();
});
});
在我的视图(HTML)中转到此部分:
<div class="alert alert-info alert-dismissable" id="processAlert">
<button type="button" class="close" data-dismiss="alert" aria-hidden="true" id="processAlert">×</button>
<strong>Processing...</strong> Upload files and Processing your request.
但是现在它只显示警报而不提交文件,如果我取消提交按钮的ID属性,它的工作效果很好......如何让提交按钮触发两个事件?
一个事件是显示处理文件的警报。 另一个事件是将文件发布到控制器中的方法。
我该怎么办?如果它可能......
我最终在做什么:(IMoses答案)
我只是删除&#34; preventDefault&#34;来自剧本。
答案 0 :(得分:0)
问题是防止默认的调用会阻止表单提交。因此,添加一个提交表单的电话将解决此问题。
$(function () {
$('#alertMe').click(function (e) {
e.preventDefault();
$('#processAlert').slideDown();
$('form:first').submit();
});