我如何提交表格并同时弹出提醒?

时间:2014-06-15 11:37:09

标签: javascript asp.net-mvc twitter-bootstrap

(我使用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>&nbsp;</td>
                    <td><input type="submit" name="submit" value="Filter" /></td>
                </tr>
            </table>

        }

因为上传文件可能需要一点时间,我认为弹出警报说我们处理你的文件会很好,所以我在表单中添加了一个ID,如下所示:

 <tr>
                    <td>&nbsp;</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">&times;</button>
<strong>Processing...</strong> Upload files and Processing your request.

但是现在它只显示警报而不提交文件,如果我取消提交按钮的ID属性,它的工作效果很好......如何让提交按钮触发两个事件?

一个事件是显示处理文件的警报。 另一个事件是将文件发布到控制器中的方法。

我该怎么办?如果它可能......

我最终在做什么:(IMoses答案)

我只是删除&#34; preventDefault&#34;来自剧本。

1 个答案:

答案 0 :(得分:0)

问题是防止默认的调用会阻止表单提交。因此,添加一个提交表单的电话将解决此问题。

$(function () {
$('#alertMe').click(function (e) {
   e.preventDefault();
   $('#processAlert').slideDown();
   $('form:first').submit();
});