0

私は、javascript を使用してフォームを使用して関数を作成する学校の課題に取り組んでいます。私は関数を作成し、必要なことを行いましたが、ある程度です。私が作成している関数は、テキスト ボックスが javascript 関数を使用して設定している制約に従っているかどうかを確認することです。ユーザーが範囲外の数値を入力すると、指定された範囲内の数値を入力するよう警告ボックスが表示されます。多くの人が if ステートメントを使用することはわかっていますが、私は別のアプローチを試してみたかったのです。while と do...while ステートメントを試しています。関数を作成しましたが、アラート ボックスが表示されて [OK] を押すたびに、アラートが引き続き表示されます。[OK] をクリックするたびにアラート ボックスが表示されないようにコーディングする方法はありますか? 私のコード:

function checkPrice(formData)
{

 while(!(formData.stickerPrice.value > 0) || (formData.stickerPrice.value < 100000))
 {
    alert("Enter a value between 0 andd 100000");
    setTimeout (function()
    {
        formData.stickerPrice.focus();
    })
 }
}
4

1 に答える 1

1

whileからに変更するだけifです。そうすれば、連続してループすることはありません。ループの条件は、Javascript から離れてユーザーが何かを入力whileできるようになるまで続きます。条件は、次の反復の前に何も変更されないため、入力されると常になります。truetrue

于 2013-04-22T16:01:22.000 に答える