Javascript 在输入文本中复制占位符功能

标签 javascript html

创建文本框时,默认显示灰色文本 (#888)。当它获得焦点时,该值应该消失并开始显示键入的值。我已经为这个问题编写了代码,如下所示:

<html>
    <script type="text/javascript">
        function Focus(i) {
            if (i.value == i.defaultValue) {
                i.value = "";
                i.style.color = "#000";
            }
        }

        function Blur(i) {
            if (i.value == "") {
                i.value = i.defaultValue;
                i.style.color = "#888";
            }
        }
    </script>

    <body>
        <input type="text" name="enter firstname" title="First Name" style="color:#888;"
        value="First Name" onfocus="Focus(this)" onblur="Blur(this)" />
        <input type="text" name="enterlastname" title="Last Name" style="color:#888;"
        value="lastname" onfocus="Focus(this)" onblur="Blur(this)" />
    </body>

</html>

但是,这里只要文本框获得焦点,值就会消失。我应该怎么做才能纠正这个问题?即使文本框处于焦点之下,该值也不应该消失,并且只有在我开始输入时该值才会消失。我是新用户,所以我无法发布屏幕截图。

最佳答案

你想要的是placeholder

像这样使用它:

<input type="text" name="enterfirstname" placeholder="First Name" />
<input type="text" name="enterlastname" placeholder="Last Name" />

关于Javascript 在输入文本中复制占位符功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13030109/

相关文章:

html - 按百分比设置表格行的高度在 Firefox 上不起作用。解决方案?

javascript - 如何改变v-select的颜色?

html - 为什么我的媒体查询在 WordPress Weaver Xtreme 主题中不起作用?

javascript - PHP和JS读取HTML5中的音频流是否中断

javascript - 如何防止模态点击?

javascript - 如何调整 Canvas 以包裹图像尺寸

javascript - 克隆时 Bootstrap 工具提示不会消失

php - 如何在不发布表单的情况下检查表单中的重复用户名,并将焦点放在用户名(如果已存在)上?

javascript - DOM 相当于 jQuery `.detach()` ?

javascript - Internet Explorer prependTo 以不同方式显示