1

我有以下两个 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”输入工作正常,当您单击它时,默认文本消失,当您移开它时,它又回来了。但它不适用于第一个,即“移动”。为什么是这样?

4

1 回答 1

3

你有一个值不匹配:

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

请注意,第 4 位是 2 在一个地方,3 在其他地方。

而且,您在这里缺少等号:

if(input.name = "dob")
于 2012-06-05T22:12:32.590 回答