2011-07-14 5 views
1

私はユーザーが3つの値を入力し、計算されるフォームを持っています。出力は、「読み取り専用」出力ボックスのフォーム内に再び表示されます。それぞれの入力に対して、「NaN」を示すフォームの代わりに、数字であるかどうかを検証したいと思います。「数字を入力してください」というエラーを表示したいと思います。以下は私が使用しているコードで、 "onkeyup"が実行されます:JavasScriptでisNAN関数を正しく使用していますか?

function checkforNumber() 
{ 
    if (isNaN(sInput || dInput || pInput) == true) { 
     alert("You entered an invalid character. Please reset the form."); 
    } 
    else { 
     return(false); 
    } 
} 

私はこの機能を間違って使用していますか?構文に何か問題はありますか?

おかげ

答えて

3
if (isNaN(sInput) || isNaN(dInput) || isNaN(pInput)) { 
    alert("You entered an invalid character. Please reset the form."); 
} 

はまた、これらの3つの変数sInputdInputpInputが文字列ではなく、parseFloatparseInt方法を用いて得られたことを確認してください。

var sInput = parseFloat(document.getElementById('sinput').value); 
var dInput = parseFloat(document.getElementById('dinput').value); 
var pInput = parseFloat(document.getElementById('pinput').value); 
+0

あなたの助けにも大変感謝しています。数字もparseFloatですが、もう一度感謝しています:) – zik

1
if (isNaN(sInput) || isNaN(dInput) || isNaN(pInput)) 

これは、私はあなたが意図考えるものです。テストする各値は、一度に1つずつisNaN関数に渡す必要があります。また、の部分は必要ありません。isNaNtrueまたはfalseを返すので、条件は戻り値に評価されるためです。

+0

大変感謝して、私は近くにいた! – zik

関連する問題