これは、別の質問に似ていますが、フォームは送信されません。
基本的にここで達成しようとしているのは、ユーザーが「送信」ボタンをクリックすると、ユーザーが送信ボタンを数回クリックするのを避けるために、ページがリダイレクトされるまでボタンが無効になることです。
ユーザーがリダイレクトされるページには、フォームからの情報は表示されません。無効化機能と有効化機能を導入する前は、これは正しく機能していました。
提供されたコードは btn を無効にし、テキストを「送信中」に変更しますが、概要ページにリダイレクトせず、タブを介して概要ページに移動しても情報がありません。どんな助けでも大歓迎です...
フォームコード........
<div class="portlet-body form">
<!-- BEGIN FORM-->
@using (Html.BeginForm("RequestAppointment", "Appointment", new { ReturnUrl = ViewBag.ReturnUrl }, FormMethod.Post, new { @class = "form-horizontal", id= "apptReqForm" }))
{
@Html.AntiForgeryToken()
@Html.ValidationSummary(false, string.Empty, new { @class = "alert alert-error" })
<div class="control-group">
<label class="control-label">Healthcare Professional</label>
<div class="controls">
@Html.DropDownListFor(m => m.RequestedUserID, Model.Hcps, string.Empty)
</div>
</div>
<div class="control-group">
<label class="control-label">@Html.LabelFor(m => m.RequestedDateTime)</label>
<div class="controls">
<div class="input-append" id="ui_date_picker_trigger">
@Html.EditorFor(m => m.RequestedDateTime)
<span class="add-on"><i class="icon-calendar"></i></span>
</div>
</div>
</div>
<div class="control-group">
<label class="control-label">@Html.LabelFor(m => m.SelectedTime, "Time")</label>
<div class="controls">
<div id="timeSlotID" data-request-url="@Url.Action("LoadTimeslots")">
<select id="SelectedTime" name="SelectedTime"></select>
</div>
</div>
</div>
<div class="control-group">
<label class="control-label">@Html.LabelFor(m => m.AdditionalNotes)</label>
<div class="controls">
@Html.TextAreaFor(m => m.AdditionalNotes, new { @class = "span6 m-wrap", rows = 3 })
<span class="help-block m-wrap">In the event the selected time you have chosen is not available, please state above if your booking time is flexible.</span>
</div>
</div>
<div class="form-actions">
<button type="submit" class= "btn blue" id="submit" onclick="disable();"><i class="icon-ok"></i>Submit</button>
<button type="button" class="btn" onclick="location.href='RequestedAppointments'">Cancel</button>
</div>
}
</div>
<div class="form-actions">
<button type="submit" class= "btn blue" id="submit" onclick="disable();"><i class="icon-ok"></i>Submit</button>
<script>
function disable() {
x = document.getElementById("submit");
x.disabled = true;
x.textContent = "Submitting...";
document.getElementById("apptReqForm").submit();
setTimeout(enable, 5000);
}
function enable() {
x = document.getElementById("submit");
x.disabled = false;
x.textContent = " Submit";
}
</script>