我正在作爲asp.net MVC 2應用程序工作。我有一個這樣的形式:獲取jsonresult操作導致jQuery按鈕單擊
<% using (Html.BeginForm("SaveCallRecording", "Recording", FormMethod.Post, new { id = "frmAddCallRecording", name = "frmAddCallRecording" }))
{%>
<tr>
<td>
</td>
<td>
<input type="button" id="btnCall" title="Call" value="Call" class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only" />
<input type="button" id="btnNewCall" title="New Call" value="New Call" class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only" />
</td>
</tr>
</table>
<%} %>
我的document.ready
$("#btnCall").click(function() {
var CallStatus = $("#txtCallStatus").val();
if (CallStatus == 'READY') {
if ($("#isUniquePassword").is(':checked') && $("#UniquePassword").val() == '') {
$("#dialog-RecipientEmail-error").dialog("open");
}
else {
$.ajax({
type: "POST",
dataType: "json",
url: "/account/getGenericPassword",
success: function (data) {
if (data == null || data == "") {
if ($('#isGenericPassword').is(':checked')) {
$("#dialog-add-generic-password").dialog("open");
}
}
else {
$("#frmAddCallRecording").submit();
//after this I want to show alert based on result
}
}
});
} // end of isUniquePassword if
} // end of call status if
else if (CallStatus == 'NOT SET') {
$("#dialog-required-fields").dialog("open");
}
});
器和控制器具有這是這樣的:在執行的ActionResult SaveCallRecording
[Authorize]
[HttpPost]
public JsonResult SaveCallRecording(CallRecording recording, FormCollection form)
{
return Json("record saved!");
}
後,我想顯示成功或失敗的消息。我該怎麼做 ?如果我嘗試使用$ .ajax,我需要使用`data:{「item」:「value1」,....}手動創建表單數據。我嘗試使用$ .post,但我需要手動將數據傳遞給它。如果我讓btnCall作爲提交按鈕而不是按鈕,那麼驗證失敗。
我想:
1)第一和顯示警示驗證表單如果表單未通過驗證。 2)將表單數據發佈到json操作方法SaveCallRecording 3)從Action Method獲取成功或失敗消息並顯示爲提醒
請給出解決方案。
我需要在savecall錄製動作方法之前執行一些檢查,例如一個字段的值爲Ready,另一個字段在檢查相關複選框時具有值。我怎樣才能做到這些? – DotnetSparrow 2013-02-09 10:29:19
您可以在發送AJAX請求之前進行這些檢查。在我的示例中,我向您展示瞭如何發送此AJAX請求,但您可以輕鬆地在客戶端上執行檢查並有條件地發送此AJAX請求。 – 2013-02-09 10:29:50
讓我詳細檢查一下。 – DotnetSparrow 2013-02-09 10:31:36