当用户按下确认按钮时,我需要使用javascript检查一些事情,并在一定条件下需要显示甜蜜警报,一旦用户按下ok (在甜蜜警报消息中),它将重定向到另一个页面。但是警报只显示了一瞬间,并且没有重定向到页面(因为我没有按"ok")。javascript是从视图中按钮的onClick调用的:
                    <div class="col">
                        <button type="submit" class="btn btn-primary form-control" onclick="ApprovePayment()">Create</button>
                    </div>以下是视图中的javascript:
@section Scripts{
    <partial name="_ValidationScriptsPartial" />
    <script src="https://cdn.tiny.cloud/1/h0b6kdvecrt66vsb30f5tpqd7ocxoezkzq6fcfbbvp0xrbfw/tinymce/5/tinymce.min.js"></script>
    <script type="text/javascript">
        function ApprovePayment() {
            var val = document.getElementById("PaymentHistory_SentFromAddressId");
            var selectedText = val.options[val.selectedIndex].text;
            var amount = document.getElementById("PaymentHistory_Amount");
            var value = parseFloat(amount.value);
            var max = parseFloat(amount.getAttribute("data-val-range-max"));
            var min = parseFloat(amount.getAttribute("data-val-range-min"));
            if (!(value < min || value > max)) {
                window.alert("amount validated");
                if (selectedText.includes("- Paypal")) {
                    window.alert("in paypal")
                }
                else {
                       swal("Success!", "Payment Added To Your List, Admin will Approve once Payment Received!", "success")
                            .then((value) => {window.location.href = '/UserRole/PaymentHistory'; });
                }
            }
        }
    </script>
}发布于 2020-10-30 18:30:45
onclick监听器是在submit按钮上定义的,当您单击submit按钮时,浏览器将执行默认操作,即表单提交。
要防止出现这种情况,您可以使用两种方法。
第二种方法的示例。
@section Scripts{
    <partial name="_ValidationScriptsPartial" />
    <script src="https://cdn.tiny.cloud/1/h0b6kdvecrt66vsb30f5tpqd7ocxoezkzq6fcfbbvp0xrbfw/tinymce/5/tinymce.min.js"></script>
    <script type="text/javascript">
        function ApprovePayment(event) {
            event.preventDefault(); // stop the default action
            var val = document.getElementById("PaymentHistory_SentFromAddressId");
            var selectedText = val.options[val.selectedIndex].text;
            var amount = document.getElementById("PaymentHistory_Amount");
            var value = parseFloat(amount.value);
            var max = parseFloat(amount.getAttribute("data-val-range-max"));
            var min = parseFloat(amount.getAttribute("data-val-range-min"));
            if (!(value < min || value > max)) {
                window.alert("amount validated");
                if (selectedText.includes("- Paypal")) {
                    window.alert("in paypal")
                }
                else {
                       swal("Success!", "Payment Added To Your List, Admin will Approve once Payment Received!", "success")
                            .then((value) => {window.location.href = '/UserRole/PaymentHistory'; });
                }
            }
        }
    </script>
}https://stackoverflow.com/questions/64606510
复制相似问题