它转到正确的if语句,但无论哪种方式,它总是提交表单。如果声明是真的,我不希望它提交,如果他们按下取消,我也不希望它提交。
我也看到了很多类似的问题,但他们的答案都不是正确的解决方案。
我的表单html:
<form action="actual link here" method="POST" target="_blank" onsubmit="ordering()">
我的js:
function ordering() {
if($('#total').html() == "$0.00") {
alert("You have not ordered anything. Please use our contact page if you wish to contact us.");
return false;
}
else {
return window.confirm("Are you sure?");
}
}
答案 0 :(得分:1)
要停止提交事件,您需要指定return ordering()
,如:
<form action="actual link here" method="POST" target="_blank" onsubmit="return ordering()">
答案 1 :(得分:0)
您可以将按钮更改为div并将该功能附加到它的onclick属性:
<div id='submitButton' onclick="ordering()"></div>
对您的功能进行微小改动:
function ordering() {
if($('#total').html() == "$0.00") {
alert("You have not ordered anything. Please use our contact page if you wish to contact us.");
}
else if(window.confirm("Are you sure?")) {
$('form').submit();
}
}
如果您不介意为div编写样式,使其看起来像一个按钮。
答案 2 :(得分:0)
由于您已经在使用jQuery,因此您不必在页面上添加内联'onsubmit = ....'javascript,只需使用:
为表单提供ID(或类),以便更容易使用jQuery选择它;
<form id='myform' action="actual link here" method="POST" target="_blank">
<script>
$(document).ready(function () {
$('#myform').on('submit', function(e) {
if($('#total').html() == "$0.00") {
e.preventDefault();
alert("You have not ordered anything. Please use our contact page if you wish to contact us.");
return false;
} else {
return window.confirm("Are you sure?");
}
}
});
</script>