0

I have a code like this;

<script type="text/javascript">

var ID= document.getElementById('customfield_10033');
var IDNumber= document.getElementById('customfield_10033').value; 

    ID.onblur=function(IDNumber)
{

    if ((IDNumber!="") && (IDNumber.length!=11)){
    alert("Your ID number should 11 digits.");
}

But when i enter ID number with 11 digits, shows me alert function. But it shouldn't.

I think i doing wrong assign Onblur property to function.. ID.onblur=function(IDNumber)

How can i fix this code?

4

3 回答 3

3

您定义IDNumber何时分配事件处理程序(因此它可能会保存您设置的字段默认值),但您几乎肯定希望在发生模糊事件时定义它。

移动

var IDNumber= document.getElementById('customfield_10033').value;

在您的事件处理函数内部。

(由于您已经引用了该元素,因此这样做var IDNumber = ID.value;也会更有效率)

于 2011-06-30T09:19:26.907 回答
1

你应该有这样的东西:

ID.onblur = function(IDNumber)
{
    var IDNumber = ID.value; 
    if (IDNumber !== "" && IDNumber.length !== 11)
    {
        alert("Your ID number should 11 digits.");
    }
}

通过分配valueinto 变量,您放置静态数据,而不是指向该值的指针,因此您必须每次都读取“实时”值。

于 2011-06-30T09:19:33.003 回答
-1

你忘了关闭 if 语句。尝试这个:

if ((IDNumber!="") && (IDNumber.length!=11)) {
    alert("Your ID number should 11 digits.");
}

问候,托马斯

于 2011-06-30T09:30:29.197 回答