对于MVC,Ajax和JavaScript,我仍然是一个新手。我有一个应用程序,我必须做出改变。现在,当进行更改并保存时,微调器会在信息保存和页面加载时显示。 Save的代码如下所示:
$('#SaveButton').on('click', function () {
navParams.isDirty = false;
});
HTML看起来像这样:
<input type="submit" value="Save" class="btn btn-block btn-primary user-action" name="action:Save" id="SaveButton" />
只需注意屏幕上有多个按钮,因此它正在使用&#34;多个按钮&#34;来自
添加了以下代码:
$('#SaveButton').on('click', function () {
navParams.isDirty = false;
displaySavePromptMessage();
});
function displaySavePromptMessage() {
if (isModalOpen == false) {
bootbox.dialog({
closeButton: false,
title: "",
message: "<strong>Warning: </strong>Changes have been made, ensure corresponding dates have been updated on the screen",
buttons: {
success: {
label: "Ok",
callback: function () {
navParams.userAction = false;
}
}
}
});
}
}
现在发生的是点击保存按钮,微调器开始运行,加载对话框,但在单击确定按钮之前,对话框按钮关闭,微调器停止。更改已保存。 需要发生的是微调器启动,对话框加载,一切都保持不变,直到用户单击“确定”。然后处理继续。我不确定如何实现这一目标。有什么想法吗?
答案 0 :(得分:2)
基本概念。您需要收听submit
事件并阻止它:
$('.some-form').on('submit', function(submitEvent) {
submitEvent.preventDefault();
});
然后在您的处理程序中,您需要在成功时提交表单:
// Inside your success handler
$('.some-form').get(0).submit();
答案 1 :(得分:0)
您输入type="submit"
,点击此按钮时会提交表单。将此更改为type="button"
或@Lesha Ogonkov说
$('#yourFormID').on('submit', function (e) {
e.preventDefault();//it will stop loading page on form submission
});
在你成功处理函数中的ajax
$('.myFromID').get(0).submit();