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 に答える