Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/415.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 文本作为文本框输入的占位符?_Javascript_Html_Css - Fatal编程技术网

Javascript 文本作为文本框输入的占位符?

Javascript 文本作为文本框输入的占位符?,javascript,html,css,Javascript,Html,Css,我注意到,在一些网站,例如,注册表单在他们的文本输入字段中有一些“位置保持者”。这样,在文本框中,文本框中没有标签,只有一个相当轻微的字体“First name”单词 使用Firebug进行调查时,我看到以下代码: <input class="standard_text magic-default magic-default-on" id="user_first_name" name="user[first_name]" size="30" type="text" value="First

我注意到,在一些网站,例如,注册表单在他们的文本输入字段中有一些“位置保持者”。这样,在文本框中,文本框中没有标签,只有一个相当轻微的字体“First name”单词

使用Firebug进行调查时,我看到以下代码:

<input class="standard_text magic-default magic-default-on" id="user_first_name" name="user[first_name]" size="30" type="text" value="First Name">

看起来幕后发生了一些“神奇的”javascript。但由于我还不熟悉javascript调试,所以我还无法了解他们是如何做到这一点的

有人知道如何产生这种效果吗?

您必须为输入框创建一个“onFocus”事件处理程序,并清除所述输入框的值。当然,只有当值是默认值时才清除该值(在示例中为“First Name”),这样,如果用户稍后返回到输入,就不会清除用户输入的任何内容


您还可以附加一个“onBlur”事件处理程序,并将输入框的值恢复为默认值(如果用户没有输入任何内容)。

对于现代浏览器,您可以使用HTML5
占位符属性

这将在不使用任何Javascript的情况下实现您所追求的结果,并且将在旧浏览器中进行扩展(不会做任何事情)

<input placeholder="First Name">

HTML5占位符就是您要寻找的:

在您的情况下,它将是:

<input name="firstname" placeholder="First name">

但您也可以100%使用javascript:


功能输入焦点(ph、el){
如果(el.value==ph)
el.value=“”;
}
功能输入模糊(ph,el){
如果(el.value==“”)
el值=ph值;
}

说得好。这里是蓝图:我添加了一个
if
,这样,如果用户已经输入了一些内容,代码就不会重置值。if放在语句中的什么位置?更新代码会很有帮助,这样将来的用户就可以确切地知道正在讨论的内容。:)@jlg单击编辑日期将突出显示为您更改的代码。希望对你有帮助。哈,是的!我从来不知道。谢谢:)
<input name="firstname" placeholder="First name">
<input id="user_first_name" name="user[first_name]" size="30" type="text" value="First Name" onFocus="inputFocus('First Name', this)" onBlur="inputBlur('First Name', this)">
<script type="text/javascriptt">
  function inputFocus(ph, el){
    if(el.value == ph)
      el.value = "";
  }
  function inputBlur(ph, el){
    if(el.value == "")
      el.value = ph;
  }
</script>