2014-02-09 49 views
0

我使用兩個JavaScript函數,但他們似乎工作不正常使用onfocus onblur無法正常工作?

繼承人我有什麼inputonfocusonblur時:

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;應該是裏面的功能可按如: -

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

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

你需要得到onbluronfocus函數中的元素值。您目前已定義的變量取值在運行時,它不是一個參考:

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