簡體   English   中英

提交后C#MVC BeginForm禁用按鈕

[英]C# MVC BeginForm Disable Button after Submit

我有C#開頭形式的文件上傳,看起來像這樣:

@using (Html.BeginForm("New", "Post", FormMethod.Post, new { @class = "form-inline", role = "form", id = "newPostForm", enctype = "multipart/form-data" }))
  {
    @Html.AntiForgeryToken()
    @Html.ValidationSummary(true, "", new { @class = "text-danger" })
    @Html.HiddenFor(c => c.Post.MinuteID)
    @Html.HiddenFor(c => c.Post.UserID)
    @Html.TextBoxFor(m => m.PostImage, new { type = "file", name = "PostImage", id = "PostImage", accept = "image/*", @class = "file-input imageInput" })
    <button id="postBtn" type="submit" class="btn btn-primary btn-block intbtn">Post&nbsp;</button>
  }

這是一個完美的作品,但是我想添加一些jquery腳本來禁用單擊提交按鈕時的按鈕和字段。 但是這樣做之后,提交的表單在擊中我的控制器時變為空。 我究竟做錯了什么? 這是我的javascript:

$('#postBtn').click(function () {
    $('.imageInput').prop("disabled", true);
    $('#postContent').prop("disabled", true);
    $('#btnText').text('Saving..   ');
    $('#postBtn').prop("disabled", true);
    //$('#newPostForm').submit(); -- i tried adding this and changing my button type to 'button' but still empty form values are submitted
});

我這樣做的原因是為了防止多次單擊該按鈕(多次發布),如何解決此問題,或者是否有更好的方法來防止多次發布,我想提出一些建議。 我想產生加載效果,這就是為什么我更喜歡javascript ..我可以在ajax.post做到這一點,但我聽說enctype = multipart/form-data ajax.post用於ajax。 任何幫助表示贊賞。

提交的表單為空,因為要禁用$('#postBtn').click(... 輸入,因此無法提交處理程序和禁用的輸入 ,這就是為什么在httppost控制器操作中具有空表單的原因。

除了禁用輸入外,只需禁用“提交”按鈕即可停止多次單擊。

參考

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM