0

やあみんな、私はjavascriptを学んでいますが、htmlとcssのバックグラウンドがあります。

数値のみをプロンプトに入力できるようにする方法がわかりません。または、数値であるかどうかを確認し、そうでない場合はプロンプトを再表示します。テキストボックスも同様です。

4

2 に答える 2

2

これは、コードの一部で使用する適切な数値テスト関数です ( Validate decimal numbers in JavaScript - IsNumeric()から)。数値の場合は true、そうでない場合は false を返します。これは浮動小数点の検証であり、整数ではありません

function isNumber(n) {
  return !isNaN(parseFloat(n)) && isFinite(n);
}
于 2012-09-21T23:10:28.210 に答える
0

あなたはすでに良い答えを持っています。この答えは、あなたができることの別の見方です。

数値フィールドが次のようなものであると仮定します

<input type="text" name="num_fld" id="num_fld" onchange="return chkNum();" />

そして、あなたはそのようにjavascript関数を定義しました

function chkNum()
{
   var rc = false;

   if(!isNaN(parseFloat(n)) && isFinite(n))
   {
     rc = true;
   }
   else
   {
      document.getElementById("num_fld").value = 0;
   }
   return rc;
}

この関数は、数値が実際に数値であるかどうかを確認しますが、入力もサルなので、不正な値はそのままではありません。false を返すと数値が入力されなくなるかどうかはよくわかりません (検証関数のようなものです)。私のテストから、false を返すとフィールドにあるものに影響があると思いますが、100% 確実ではありません。 .

また、失敗時に入力フィールドの背景やテキストの色を変更することもできます (テストの else 部分で、ユーザーは何かが間違っていることに気付きます。alert();テストには適していますが、本番環境ではサイトの外観が台無しになります)。 .

于 2012-09-21T23:58:49.880 に答える