javascript onblur / onfocus功能无法正常工作

时间:2012-06-05 22:08:21

标签: javascript

我有以下两个html表单输入:

<input type="text" class="faded" name="mobile" value="012-245-6789" onfocus="hideDefault(this)" onblur="showDefault(this)"/>

<input class="faded validation_required" type="text" name="dob" value="MM/DD/YYYY" onfocus="hideDefault(this)" onblur="showDefault(this)"/>

以及以下javascript:

function hideDefault(input)     
{
if(input.name == "dob")
{
    if (input.value == "MM/DD/YYYY")
    {
        input.value = "";
        input.style.color = "black";
    }
}
else if(input.name == "mobile")
{
    if (input.value == "012-345-6789")
    {
        input.value = "";
        input.style.color = "black";
    }
}
    else
{input.value ="hello";}

}
function showDefault(input)
{
if(input.name = "dob")
{
    if (input.value == "")
    {
        input.value = "MM/DD/YYYY";
        input.style.color = "#A3A3CC";
    }
}
else if(input.name == "mobile")
{
    if (input.value == "")
    {
        input.value = "012-345-6789";
        input.style.color = "#A3A3CC";
    }
}

}

“dob”输入工作正常,当你点击它时默认文本消失,当你离开它时它会返回。但它不适合第一个,“移动”的。这是为什么?

1 个答案:

答案 0 :(得分:3)

您的价值不匹配:

    value="012-245-6789"
...    
    if (input.value == "012-345-6789")
...
    input.value = "012-345-6789";

请注意,第四个数字在一个地方是2个,在其他地方是3个。

而且,你在这里错过了一个等号:

if(input.name = "dob")