【发布时间】:2015-10-07 09:41:25
【问题描述】:
当我提交并单击“确定”时,它会继续,但当我按下“取消”时,它仍然会提交。我尝试使用此代码,但提交和取消按钮仍然做同样的事情。
model.saveForm = function() {
var r = confirm("Press a button");
alert(p);
if (r == true) {
x = "You pressed OK!";
if (!validateRequiredNew()) return;
model.saving(true);
// check if group id is needed
var generatedGroupIdPromise = null;
// if (model.selectedUsers().length > 1 || model.selectedUsers()[0].selectedRoles().length > 1) {
generatedGroupIdPromise = $.ajax({
url: '../_vti_bin/listdata.svc/GroupIdGeneratorList',
type: "POST",
contentType: "application/json; charset=utf-8",
data: "{Title: 'dummy'}",
processData: false,
dataType: "json"
});
} else if (r == false){
x = "You pressed Cancel!";
}
还有aspx页面:
<button data-bind="click: saveForm, visible: !saving()">Submit Request</button>
【问题讨论】:
-
<button>是否在<form>中,并且仍在提交的是<form>?请注意,默认情况下,<button>是type="submit"- 如果您将它放在<form>中,您可能希望将其设为type="button",这样它就不会提交表单。 -
与问题无关,但您从不在 JS 的
if中需要== true。只需使用:if (r) {并将} else if (r == false){替换为} else { -
你确定 r 是假的吗?可以显示确认功能吗?
-
嗨 Cerbrus,是的,最初是这样,但我在尝试寻找解决方案时更改了它。 James 提交按钮就在表单结束标记之后。
-
@JosephKhella
window.confirm“result是一个布尔值”
标签: javascript