0

它转到正确的 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?");
    }
}
4

3 回答 3

1

为了停止提交事件,您需要指定return ordering()如下:

<form action="actual link here" method="POST" target="_blank" onsubmit="return ordering()">
于 2013-02-02T20:47:47.347 回答
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 编写样式以使其看起来像一个按钮。

于 2013-02-02T20:38:17.107 回答
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>
于 2013-02-02T20:59:10.773 回答