如果一旦聚焦并保持为空,则文本框值恢复为默认值

时间:2013-10-18 22:41:42

标签: jquery

我希望文本框在聚焦后获得默认值,然后留空。

<input name="username" type="text" class="input username" value="Username"/>
<input name="password" type="password" class="input password" value="Password"/>

我尝试使用此脚本但无法正常工作

<input type="search" style="color:#858585" id="numbersearch" value="Search..." />

Javascript代码 -

$(document).ready(function() {
  var value = $("#numbersearch").val();
  $("#numbersearch").focus(function() {
    if(value == "Search...") {
      value="";
    }
  });

  $("#numbersearch").blur(function() {
    if(value == "") {
      value="Search...";
    }
  });
});

2 个答案:

答案 0 :(得分:0)

您只需在文档加载时设置value一次。此外,当您分配给value时,您只设置为字符串变量,而不是元素本身的值。

试试这个:

$(document).ready(function () {

    $("#numbersearch").focus(function () {
        if ($(this).val() === "Search...") {
            $(this).val("");
        }
    });

    $("#numbersearch").blur(function () {
        if ($(this).val() === "") {
            $(this).val("Search...");
        }
    });
});

答案 1 :(得分:0)

基于你原来的问题(你改变了吗?)这个答案对你有用......

http://jsfiddle.net/nDb5H/3/

确保您引用的是JQuery.js

<input type="text" style="color:#858585" id="numbersearch" value="Search..." />

//java script
$(document).ready(function() {
    $("#numbersearch").focus(function() {
        if($("#numbersearch").val() == "Search...") {
            $("#numbersearch").val("");
        }
    });

    $("#numbersearch").blur(function() {
        if($("#numbersearch").val() == "") {
            $("#numbersearch").val("Search...");
        }
    });
});

一些注意事项:我假设你的输入类型应该是“text”而不是“submit”,你的val()也应该在每次评估时被调用。