jquery フォーム プラグインを使用して、MVC アプリケーションにフォームを送信しています。問題は、私のコールバック「成功」コールバック関数にあります。この関数では、私が持っている他の JavaScript 関数を 2 回呼び出します。1 つはページの一部を更新し、もう 1 つはページの別の部分でユーザーにメッセージを投稿します。
問題は、これらのうちの 1 つだけが実行されることです。コールバック関数の最初に置いたものです。最初の関数から値を明示的に返して、制御をコールバック関数に戻そうとしましたが、うまくいきません。このコードを頻繁に使用し、1 つの場所にまとめておきたいので、2 つの別個の関数を削除したくありません。
これがコードです。(警告ステートメントは、それが機能していなかったことを証明するためだけにそこにあります)
function ShowProposedDate_Submit() {
// prepare Options Object
var options = {
dataType: 'json',
success: function (responseText) {
$("#blankModal").dialog("close");
var ret = RefreshGrid(); //this function will execute but will not return
alert(ret); //this statement won't execute
PostMessage(responseText.msg); //this function won't execute
},
error: function (responseText) {
$("#feedback").html(responseText.msg);
}
};
// pass options to ajaxForm
$('#showProposedDate').ajaxForm(options);
}
追加機能はこちら。
function PostMessage(message) {
$('.message_wrap').remove();
$("<div></div>)").addClass("message_wrap")
.text(message)
.prependTo(".grid_20");
KillMessage();
}
function RefreshGrid() {
$.get("/workitems/list", function (data) {
$("#grid").replaceWith(data);
getAvailableActions(0);
getMoreDetails(0);
ResetCheckbox();
return 0;
});
}
これらの各機能は、順番に最初に配置すると完全に機能します。両方を実行できない理由はありますか?