jQuery's $ (formularz) .submit () nie wypuszcza tylko dla IE (aplikacja MVC3)
Przeszukiwałem Internet (w tym SO) i nie mogę znaleźć niczego, co mogłoby mi pomóc w mojej sytuacji, więc mam nadzieję, że uda mi się uzyskać od was pomoc.
Zasadniczo, jak mówi tytuł, .submit () NIE wystrzeliwuje w IE. Wszystkie inne przeglądarki działają poprawnie, ale w IE (do tej pory 8, 9, 10) po prostu nie wysyłają zgłoszenia.
Oto kod widoku:
<form id="@formId" method="post" enctype="multipart/form-data" action="@Url.Content("/ActivityEvent/SubmitCheckpointApproval")">
<table id="checkpoint-approval" style="width:100%" align="center" class="noBorders">
<tr>
<td style="width: 520px;">
<div>
Please enter any relevant comments:
</div>
<div style="margin: 10px 0;">
<textarea class="wysiwygSimple" rows="4" cols="60" name="comment" id="checkpoint-comment-@(actTplId)"></textarea>
</div>
</td>
<td style="border: 0; padding-top: 30px; text-align: center; width:70px;">
<img alt="key" src="/Content/Images/checkmarkInCircle.png" align="middle" style="width: 100px;
height: 100px;" /><br />
<p style="text-align: left; margin-top: 10px;">
The notes and resources entered here are shared with the student.</p>
</td>
</tr>
<tr>
<td colspan="2" class="ResourcesUploadList">
Suggest some resources:<br />
<div style="float: left;">
<input class="Multi" type="file" name="resourceFiles[]" /></div>
<div style="float: left; margin-left: 10px; font-style: italic;">
(click browse for each file you want to upload)</div>
<div style="clear: both;">
</div>
</td>
</tr>
<tr>
<td style="border: 0; text-align: center; width:600px;" colspan="2">
@if (hasAdminRights)
{
<input type="button" @Html.Raw(btnStyle) class="activityApprove" name="actionApprove" id="actionApprove" value="Tutor Completion Approval" title = "Approves all activities preceding this checkpoint as complete." onclick="Activity.submitCheckpointApproval('@(formId)', '@(ActivityEvent.EVENT_TYPE_APPROVED)',@(actTplId));" />
<input type="button" @Html.Raw(btnStyle) class="activityAttention" name="actionAttention" id="actionAttention" value="Needs Attention" title = "Notifies the student that this project needs additional work prior to completion." onclick="Activity.submitCheckpointApproval('@(formId)', '@(ActivityEvent.EVENT_TYPE_NEEDS_ATTENTION)',@(actTplId));" />
}
<input type="button" @Html.Raw(btnStyle) value="Cancel" title = "Close this." onclick="javascript:$('#checkpoint-approval@(actTplId)').toggle();" />
</td>
</tr>
</table>
</form>
Po kliknięciu przycisków:
Activity = {
submitCheckpointApproval: function (formId, activityEventStatusId, activityTemplateId) {
var resultsDivId = $("#checkpointResults" + activityTemplateId);
Activity.showCheckpointLoading(resultsDivId); //Just shows a spinner for loading
$("#checkpoint-activityEventStatusId-" + activityTemplateId).val(activityEventStatusId);
$("#" + formId).submit(); //PROBLEM IS HERE??
},
...
};
I wreszcie kontroler:
[HttpPost]
[ValidateInput(false)]
public ActionResult SubmitCheckpointApproval()
//Save everything in here
}
Podczas debugowania w IE przechodzę do linii .submit () w js i uruchamiam stamtąd. Wszystko, co wcześniej działało, działa dobrze, ale potem przychodzi .submit () i przestaje robić cokolwiek. Brak błędów javascript, nic w konsoli, brak jakichkolwiek problemów. We wszystkich innych przeglądarkach .submit () uruchamia się dobrze, a kontroler włamuje się do wywoływanej metody.
Jakieś przemyślenia, dlaczego tak się dzieje w IE? Jestem pewien, że ktoś już to zetknął !! Proszę, pomóż, przez całe popołudnie waliłem głową w biurko!
Dzięki chłopaki!