を提出してください私はC#を持っている。このようなファイルのアップロードとフォームを開始:この1つは完全に動作しC#MVC BeginForm無効化ボタンが後
@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 </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
});
理由イムこのボタンを複数回(複数のポスト)をクリックすることがないようにするためですやって、私はこの問題を解決するか、またはより良いアプローチがあるかどうI「は、複数のポストを防ぐ方法dはいくつかの提案をしたい。私は、なぜ私はJavaScriptを好むthatsのローディング効果をしたい..私はajax.post
でこれを行うことができますが、enctype = multipart/form-data
は、ajaxで動作しないと聞いた。どんな助けもありがとうございます。
問題は、フォームを送信する前にすべての入力を無効にしていて、無効な入力を送信できないことです。 –
すべての入力を無効にする代わりに、送信ボタンを無効にしてください。 –
...または、あなたは 'setTimeout(function(){0})に無効をラップします; このようにして、フォームがシリアル化された後に無効になります。 –