次のようなボタンがあります。
<asp:Button ID="btnSave" runat="server" CssClass="SubmitButton" Text="Order >>" OnClientClick="return SaveChanges();" OnClick="btnSave_Click" />
次のような JavaScript 関数:
function SaveChanges() {
var success = false;
var arr1 = new Array();
var arr2 = new Array();
var arr3 = new Array();
for (var i = 0; i < self.frames.length-1; i++) {
arr1[i] = document.getElementById("frame" + i.toString()).contentWindow.getFramePSFID();
arr2[i] = document.getElementById("frame" + i.toString()).contentWindow.getFrameHeading();
arr3[i] = document.getElementById("frame" + i.toString()).contentWindow.saveSvg();
}
Scripts.WebServices.WSCommon.SaveChanges(arr1, arr2, arr3, function (result) {
return true;
});
}
あるブロックreturn true;
は、Web サービス呼び出し (数秒かかります) が終了して結果が返されたときに発生するものです。そこに何を置いても、btnSave_Click
常にトリガーされます。(削除btnSave_Click
して に変更return true;
するalert('test');
と、アラートが発生します。)
btnSave_Click
Web サービスが true を返したときにのみ強制的に起動するにはどうすればよいですか?