onfocus onblur无法正常工作?

时间:2014-02-09 17:37:36

标签: javascript html

我使用了两个Javascript函数,但在使用input onfocusonblur

时它们似乎无法正常工作

继承我所拥有的:

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 {}
}

3 个答案:

答案 0 :(得分: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;
    .........
    ......... 

答案 1 :(得分: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

答案 2 :(得分:0)

输入字段上没有这样的函数value,所以请替换它:

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

用这个:

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