我正在尝试提交ajax表单,我想要的是在成功和/或失败时显示确认消息。
但这两个函数从未调用过。
@using (Ajax.BeginForm("Transfer", "Location", null, new AjaxOptions
{
UpdateTargetId = "update-message",
InsertionMode = InsertionMode.Replace,
HttpMethod = "POST",
OnSuccess = "updateSuccess",
OnFailure = "updateFailure"
}, new { @id = "transferForm" }))
{
// html here
}
<div id="update-message"></div>
<div id="commonMessage"></div>
这是脚本:
<script>
function updateSuccess() {
if ($("#update-message").html() == "True") {
$('#commonMessage').html("The ownership has been transfered.");
$('#commonMessage').delay(400).slideDown(400).delay(4000).slideUp(400);
}
else {
$("#update-message").show();
}
}
function updateFailure() {
if ($("#update-message").html() == "False") {
$('#commonMessage').html("The ownership has NOT been transfered.Error occured.");
$('#commonMessage').delay(400).slideDown(400).delay(4000).slideUp(400);
}
else {
}
}
</script>
表单提交后,我可以看到它返回True / False,并显示在“update-message”div中。但确认从未出现过。 即使我在onFailure / onSuccess中使用“警报”,警报也不会显示。
任何帮助人员?
编辑: 控制器的返回消息显示在div中。但是没有显示确认消息。
答案 0 :(得分:0)
你可以试试这个:
function updateSuccess() {
$('#commonMessage').html("The ownership has been transfered.");
$('#commonMessage').delay(400).slideDown(400).delay(4000).slideUp(400);
}
function updateFailure() {
$('#commonMessage').html("The ownership has NOT been transfered.Error occured.");
$('#commonMessage').delay(400).slideDown(400).delay(4000).slideUp(400);
}
因为在ajax操作之后更新了div
。
注意:“OnSuccess”是否意味着“操作返回true”?另外,“OnFailure”=“动作返回错误”?为什么使用“if statement”?