我正在验证路线表格。验证成功后,我想将表单提交到另一条路线,以便在门户网站中提取下一页。这是正确的做法吗?感觉不对。
我尝试过在单击按钮时进行验证,但是即使出现错误也可以立即提交表单。
目前,我在表单上具有“操作”和“方法”属性,以及具有剔除提交属性以处理验证。这就是我的感觉。
在下面的代码中,您将看到我成功运行 .validate(),而在运行 .submit()
之前,self.handleProceed = function() {
$.ajax({
type: "POST",
url: "/apps/o365/validate_address",
dataType: "json",
cache: false,
}).always( function(jqXHR, textStatus) {
if ( textStatus != "success" || jqXHR.eligible == false ) {
$("#proceedToPurchase").removeClass("disabled processing").text("Proceed to Purchase");
$("#proceedToPurchaseModal").modal("show");
} else if ( textStatus === "timeout" ) {
alert("got timeout");
$('#proceedToPurchase').addClass("disabled");
} else {
$("#proceedToPurchase").addClass("processing");
$("#o365Form").validate();
}
});
};
<form id="o365Form" data-bind="attr: { action : purchaseURL }, submit: handleProceed" method="POST">
<button
id="proceedToPurchase"
type="submit"
class="btn btn-secondary btn-block py-4 font-20"
data-bind="attr: { disabled: !formIsFilled() }"
>
预期: