2014-02-09 5 views
0

Я использую две функции Javascript, но они, кажется, не будет работать корректно при использовании inputonfocus и onbluronfocus onblur не работает должным образом?

Вот что у меня есть:

HTML

<form class="nav" method="post" action="action.php?do=search"> 
    <input id="sb" class="search_bar" type="text" name="search_input" value="Search" onfocus="removeValue()" onblur"showValue()" /> 
</form> 

Javascript

var sb = document.getElementById("sb").value() 

function removeValue() { 
    if(sb=="Search") { 
     sb=""; 
    } 
    else {} 
} 
function showValue() { 
    if(sb="") { 
     sb="Search"; 
    } 
    else {} 
} 

ответ

0

У вас не хватает = на onblur "showValue()" она должна быть как onblur="showValue()"

А также var sb = document.getElementById("sb").value; должен быть внутри Funciton например: -

function removeValue() { 
    var sb = document.getElementById("sb").value; 
    ....... 
    ....... 

function showValue() { 
    var sb = document.getElementById("sb").value; 
    ......... 
    ......... 
0

Вы должны получить значение элементов внутри функций onblur и onfocus , Переменное, которую в настоящее время определила принимает значение во время выполнения, это не ссылка:

function removeValue() { 
    var sb = document.getElementById("sb") 
    if(sb.value=="Search") { 
     sb.value=""; 
    } 
    else {} 
} 

function showValue() { 
    var sb = document.getElementById("sb") 
    if(sb.value="") { 
     sb.value="Search"; 
    } 
    else {} 
} 

Я бы просто сделать переменный элемент, а затем вызвать .value, когда вы хотите установить и проверить его.

+0

Спасибо, хорошо работает - только проблема с ONBLUR() теперь ... и я исправил HTML-опечатку – user3256987

0

Там нет такой функции value на поле ввода, поэтому замените это:

var sb = document.getElementById("sb").value(); 

с этим:

var sb = document.getElementById("sb").value; 
+0

Вау, черт побери! – user3256987

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