2012-06-05 6 views
1

У меня есть следующие два HTML-форм входы:Javascript ONBLUR/функция OnFocus не работает

<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" вход работает нормально, когда вы нажимаете на него, текст по умолчанию исчезает, и когда вы его удаляете, он возвращается. Но он не работает для первого, «мобильного». Почему это?

ответ

3

У вас есть несоответствие значения:

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

Обратите внимание, что четвёртая цифра 2 в одном месте и 3 в других.

И, вы пропустили знак равенства здесь:

if(input.name = "dob") 
+0

Хорошо, это было глупо. Но теперь, когда я перехожу с «мобильного» входа, значение по умолчанию становится ММ/ДД/ГГГГ! – user1015214

+0

См. Дополнение, которое я только что сделал для своего ответа. –

Смежные вопросы