根据焦点自动显示文本字段上的隐藏值

时间:2013-08-23 12:53:08

标签: jquery asp.net asp.net-mvc-4

我的文字框显示如下:

<%= Html.TextBox("idbox", "Enter Text here", (string)ViewBag.idbox)%>       

 $(document).ready(function () {
        $('input#idbox').focus(function () {
            var txtval = $('input#idbox').val();
            if (txtval == 'Enter Text here') { $(this).val(''); }

        });
        $('input#idbox').focusout(function () {
            var txtval = $('input#idbox').val();
            if (txtval == "") { $('input#idbox').val('Enter Text here'); }
        });
    });

我想在facebook上制作类似于短信textarea的文本框。因此,如果我点击文本框末尾放一些字母,那么值'在这里输入文字'是隐藏但如果我再次单击此框,则新值不会隐藏。这是因为if语句总是将值与'在此处输入文本'进行比较。如何更改此代码以使我能够根据焦点自动显示隐藏文本值?

3 个答案:

答案 0 :(得分:6)

使用新的placeholder功能:

<input type="text" name="test" value="" placeholder="Enter Text here">

答案 1 :(得分:2)

使用文本框的Html 5 placeholder属性并检查 http://caniuse.com/ 中的浏览器兼容性。因为某些旧浏览器不支持html 5属性。

答案 2 :(得分:0)

试试这个,

<%= Html.TextBox("idbox", (string)ViewBag.idbox, new { placeholder = "my watermark" })%>