2

フィールドに5を超える値が入力されているかどうかを確認する簡単なチェックを作成しようとしています。フォームを設定し、いくつかのテキストフィールドを入力しましたが、これらのフィールドの1つに金額が必要になります。この金額が5ドルを超えているかどうかを確認しようとしています。それが、5ドルを超えていないことをユーザーに知らせるアラートをポップアップするだけではない場合は、私がこれまでに持っているコードは次のとおりです。

    <script>
    function validateForm()
    {
        var x=document.forms["amnt"]["Amount"].value;
        if (x<5)
        {
            alert("value is under 5 dollars!");
            return false;
        }

    }
</script>

このスクリプトは、フィールドが空かどうかのチェックなどに適していますが、フィールドの値をチェックするように変更しようとすると、値が5未満であっても、ユーザーは続行できます。

フィールドの実際の数値をチェックし、それが5ドルの金額を超えているかどうかを確認するために、これを取得する方法について誰かがフィードバックを提供できますか?

編集:すべての回答に感謝します、そして彼らは大丈夫でした、私はバカであり、フォームにonsubmitオプションを含めるのを忘れたので、私のスクリプトは何もしていませんでした。これで、あなたが持っていたすべての良い提案がうまくいきました。すべての助けをありがとう、混乱について申し訳ありません!

4

4 に答える 4

3

これを試して:

var x=parseInt(document.forms["amnt"]["Amount"].value);
于 2013-01-10T19:27:40.087 に答える
1

を呼び出すと文字列が表示されます.value。整数を比較する必要があるため、を使用しますparseInt()

<script>
    function validateForm()
    {
        var x = parseInt(document.forms["amnt"]["Amount"].value);
        if (x<5)
        {
            alert("value is under 5 dollars!");
            return false;
        }

    }
</script>
于 2013-01-10T19:29:39.550 に答える
1

2番目のパラメーターを10に設定してparseIntを使用するので、基数10で入力を解析します。

var x=parseInt(document.forms["amnt"]["Amount"].value, 10);

パラメータを省略すると、一部の(古い)ブラウザでこのようなことが発生する可能性があります。

parseInt('09')== 0(先頭が0であるため、8進数で解析されます)

parseInt('09'、10)== 9(10進数が強制されます)

于 2013-01-10T19:36:01.490 に答える
1
<script>
function validateForm()
{
    var x = parseInt(document.forms["amnt"]["Amount"].value);
    if (x && Number(x)<5)
    {
        alert("value is under 5 dollars!");
        return false;
    }

}
</script>
于 2013-01-10T19:44:31.353 に答える