3

好吧,我正在制作我的第一个登陆页面,不是太专业,我想自己制作简单的网页。

所以我的问题是,每当您单击文本框时,文本就会消失。它应该。但是当用户输入文本,单击文本框并再次单击它时,该文本消失了。

我怎样才能使新输入的文本不会消失?

我当前的文本字段代码:

http://pastie.org/8366114

<input type="text" value="Enter Your First Name" id="form" 
  onblur="javascript:if(this.value=='')this.value='Enter Your First Name';" 
  onclick="javascript:if(this.value=='Enter Your First Name')this.value='';" 
  onFocus="this.value=''">
</input></br>
<input type="text" value="Enter Your Email" id="form" 
  onblur="javascript:if(this.value=='')this.value='Enter Your Email';" 
  onclick="javascript:if(this.value=='Enter Your Email')this.value='';" 
  onFocus="this.value=''">
</input></br>
<input type="text" value="Enter Your Phone Number" id="form" 
  onblur="javascript:if(this.value=='')this.value='Enter Your Phone Number';" 
  onclick="javascript:if(this.value=='Enter Your Phone Number')this.value='';" 
  onFocus="this.value=''">
</input></br>
<input type="submit" class="button" name="submit" value=""></input>

我很抱歉没有在这里发布它,但我不知道如何做代码块的事情..

4

5 回答 5

5

用 javascript 做到这一点,你只需要

<input type="text" value="Enter Your First Name" 
onblur="if(this.value=='')this.value='Enter Your First Name';" 
onfocus="if(this.value=='Enter Your First Name')this.value='';" />

演示

但是您可以简单地使用 html5placeholder 参考

  1. 不要id多次使用相同的,而是使用class.
  2. 输入是自动关闭的(如<br>
  3. </br>是错误使用<br><br />

这是您的代码的工作版本,我还添加了您submitvalue代码button

<input type="text" placeholder="Enter Your First Name" class="form"><br/>
<input type="text" placeholder="Enter Your Email" class="form"><br/>
<input type="text" placeholder="Enter Your Phone Number" class="form"><br/>
<input type="submit" class="button" name="submit" value="submit">

演示

于 2013-09-30T05:50:56.873 回答
4
<input type="text" value="Enter Your First Name" id="form" onblur="if(this.value=='')this.value='Enter Your First Name';" onfocus="if(this.value=='Enter Your First Name')this.value='';" />

或者如果您使用的是 HTML5,则可以使用 placeholder 属性:

<input type="text" placeholder="Enter Your First Name" id="form"  />
于 2013-09-30T05:50:46.433 回答
0

您必须使 onfocus 事件与 onclick 事件相同,例如:

onfocus="javascript: if (this.value == 'Enter Your First Name') this.value = '';"
于 2013-09-30T05:55:16.333 回答
0
onFocus="this.value=''"

这会导致您的文本字段无条件地重置为空白。

您可能只需要 onclick 或 onfocus 在这里,因为 onfocus 将考虑到该字段的选项卡以及用鼠标单击它,我建议将代码从 onclick 移动到 onfocus 并完全删除 onclick。

于 2013-09-30T05:55:50.360 回答
0

从表单 onclick 中删除内容:

在哈姆里:

= f.text_field :title, :value => 'Name', :onfocus => "if (this.value=='Name') this.value='';"

在 html 中:

<input id="project_title" name="project[title]" onfocus="if (this.value=='Name') this.value='';" type="text" value="Name">
于 2014-02-04T20:44:02.950 回答