2014-02-09 54 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