2010-12-07 7 views
1

は、私は、ユーザー入力をチェックし、数としてそれを検証するJavaScriptを書いているが、これは私の関数である。今、私が欲しいJavascriptの変数

<script type="text/javascript"> 
function checkThis(field) 
{ 
    if(isNaN(field.value)) 
    { 
     alert(field.value + ' is an illegal value. Insert a number'); 
    } 
} 
</script> 

、条件が真のとき、最後の型付きを復元しますたとえば、ユーザーが123と入力すると、条件はfalseになりますが、ユーザーが123aと入力すると、条件はtrueになり、アラートがトリガーされます。私は、これはフィールドのコードであるフィールドの値が123

なり、警告の後、希望:

<input type="text" onkeyup="checkThis(this)" /> 

はこれを行うことができますか?

+0

前の値を保存する必要があります。フィールドの値を設定する必要があります。タスクのどの部分に問題がありますか? –

答えて

2
<script type="text/javascript"> 
var prevValues = [] 
function checkThis(field) 
{ 
    if(isNaN(field.value)) 
    { 
    alert(field.value + ' is an illegal value. Insert a number'); 
    var prevValue = prevValues[field] || "" 
    field.value = prevValue 
    } 
    else 
    { 
    prevValues[field] = field.value 
    } 
} 
</script> 
2
function checkThis(field) { 
    if(isNaN(field.value)) { 
     alert(field.value + ' is an illegal value. Insert a number'); 
     field.value = field.lastValid || ""; 
    } else { 
     field.lastValid = field.value; 
    } 
} 

入力エラーをユーザーに知らせるためにダイアログボックスを使用することを強く推奨しませんが、あなたが入力している間中断されるのは気をそらすこと、刺激的なこと、イライラさせることです。色やユーザーの入力時に表示される小さなアイコンのような侵入の少ないものを使用する方が良い。