0

私は ajax フォームを送信しようとしていますが、成功および/または失敗時に確認メッセージを表示したいのです。

しかし、これらの 2 つの関数は呼び出されませんでした。

@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に表示されます。しかし、確認メッセージは表示されません。 ここに画像の説明を入力

4

1 に答える 1

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);
}

divajax操作後に更新されるため。

:「OnSuccess」は「アクションが true を返す」という意味ではありませんか? また、"OnFailure" = "action return false" ? なぜ「if文」を使うのですか?

于 2012-08-24T16:38:23.970 に答える