-2

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

<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...";
    }
  });
});
4

2 回答 2

0

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

尝试这个:

$(document).ready(function () {

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

    $("#numbersearch").blur(function () {
        if ($(this).val() === "") {
            $(this).val("Search...");
        }
    });
});
于 2013-10-18T22:48:15.533 回答
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...");
        }
    });
});

一些注意事项:我假设您的输入类型应该是“文本”而不​​是“提交”,您的 val() 也应该在每次评估时调用。

于 2013-10-18T22:48:46.973 回答