使用jQuery将值插入输入字段?

使用jQuery将值插入输入字段?,jquery,Jquery,在下面的代码中,我想使用jQuery将username一词放入value字段。然后,当用户选择输入框时,用户名一词将消失,留下一个空的输入字段供用户输入用户名 这可以通过jQuery实现吗 <p class="login-username"> <input type="text" name="log" id="user_login" class="input" value="" size="20" tabindex="10"> </p> 您可以使用H

在下面的代码中,我想使用jQuery将username一词放入value字段。然后,当用户选择输入框时,用户名一词将消失,留下一个空的输入字段供用户输入用户名

这可以通过jQuery实现吗

<p class="login-username">
    <input type="text" name="log" id="user_login" class="input" value="" size="20" tabindex="10">
</p>
您可以使用HTML5占位符来实现这一点

更新

要通过jQuery更改HTML并向输入字段添加占位符,可以执行以下操作

$("input").prop("placeholder", "username");
您可以使用HTML5占位符来实现这一点

更新

要通过jQuery更改HTML并向输入字段添加占位符,可以执行以下操作

$("input").prop("placeholder", "username");
选项1:jQuery插件或自己编写

有几个默认的文本插件可供选择。我偏爱这个:

选项2:HTML5占位符属性

利用占位符属性HTML5。在受支持的浏览器上使用占位符将为您提供所需的功能

<input type="text" id="user_login" placeholder="username" />
有关更多详细信息,请参阅

注意:请注意,并非所有浏览器都支持占位符。您可以查看支持的浏览器。

选项1:jQuery插件或自己编写

有几个默认的文本插件可供选择。我偏爱这个:

选项2:HTML5占位符属性

利用占位符属性HTML5。在受支持的浏览器上使用占位符将为您提供所需的功能

<input type="text" id="user_login" placeholder="username" />
有关更多详细信息,请参阅


注意:请注意,并非所有浏览器都支持占位符。您可以查看支持的浏览器。

您不需要jQuery。您可以只使用占位符属性

从深入HTML5开始:

HTML5给web表单带来的第一个改进是设置 输入字段中的占位符文本。将显示占位符文本 只要输入字段为空,就在输入字段内。当你点击 在输入字段的或选项卡上,开始键入占位符文本 消失了


这不需要jQuery。您可以只使用占位符属性

从深入HTML5开始:

HTML5给web表单带来的第一个改进是设置 输入字段中的占位符文本。将显示占位符文本 只要输入字段为空,就在输入字段内。当你点击 在输入字段的或选项卡上,开始键入占位符文本 消失了


使用HTML5,您可以简单地设置placeholder=username,现代浏览器将自动处理此问题。为了抓住掉队者,有许多shim或shiv脚本,例如或,为不符合HTML5的浏览器提供占位符支持。

使用HTML5,您只需设置占位符=用户名,现代浏览器就会自动处理。为了抓住掉队者,有许多shim或shiv脚本,例如或,为不符合HTML5的浏览器提供占位符支持。

占位符属性可能是您想要的,但要回答您的问题:

$(".login-username input").val("username");
$(".login-username input").on("focus", function() {
  if($(this).val() == "username") {
    $(this).val("");
  }
}).on("blur", function() {
  if($(this).val() == "") {
    $(this).val("username");
  }
});

占位符属性可能是您想要的,但要回答您的问题:

$(".login-username input").val("username");
$(".login-username input").on("focus", function() {
  if($(this).val() == "username") {
    $(this).val("");
  }
}).on("blur", function() {
  if($(this).val() == "") {
    $(this).val("username");
  }
});
工作示例:

工作示例:

如果使用XHTML

var user_login_text="Username";
$("#user_login").val=user_login_text;
$("#user_login").focus(function(){
    $(this).val("");
}).blur(function(){
    $(this).val(user_login_text);
});
如果您使用XHTML

var user_login_text="Username";
$("#user_login").val=user_login_text;
$("#user_login").focus(function(){
    $(this).val("");
}).blur(function(){
    $(this).val(user_login_text);
});

您只需使用简单的javascript即可:

<p class="login-username">
<input type="text" name="log" id="user_login" class="input" value="Username" size="20" tabindex="10" onfocus="if(!this._haschanged){this.value=''};this._haschanged=true;">
</p>

您只需使用简单的javascript即可:

<p class="login-username">
<input type="text" name="log" id="user_login" class="input" value="Username" size="20" tabindex="10" onfocus="if(!this._haschanged){this.value=''};this._haschanged=true;">
</p>


HTML占位符属性呢?。然后对旧浏览器使用多边形填充。完成。HTML占位符属性呢?。然后对旧浏览器使用多边形填充。完成。-1,如果控件获得焦点,然后再次失去焦点,会发生什么?默认文本只工作一次。如果绑定到每个焦点事件,则先前输入的内容将被清除。这就是我使用.one绑定的原因。我的观点是,如果用户将焦点放在字段上,然后在不输入文本的情况下将其删除,占位符文本将不会返回。这不是一个好的解决方案,我道歉。我匆忙发帖,这是最低限度的。我的编辑修正了这一点。-1,如果控件获得焦点,然后再次失去焦点,会发生什么?默认文本只工作一次。如果绑定到每个焦点事件,则先前输入的内容将被清除。这就是我使用.one绑定的原因。我的观点是,如果用户将焦点放在字段上,然后在不输入文本的情况下将其删除,占位符文本将不会返回。这不是一个好的解决方案,我道歉。我匆忙发帖,这是最低限度的。我的编辑解决了这个问题。谢谢,但我希望您能提供一种方法,使用jQuery将“占位符”属性插入html,因为我不想弄乱任何核心文件。^如果您不想使用任何html,那么这就违背了要求使用html5的目的。@John更新了我的答案-通过jQuery@Bankzilla我已经添加了HTML标记,因为占位符,但结果是OP不想更改其HTML,所以只删除了指向OP的标记,您的答案是+1。谢谢,但我希望您能提供一种方法,使用jQuery将“占位符”属性插入HTML,就像我一样
不想弄乱任何核心文件。^如果你不想使用任何html,那就违背了要求使用html5的目的。@John更新了我的答案-通过jQuery@Bankzilla我添加了HTML标记是因为占位符,但结果是OP不想更改他的HTML,所以刚才删除了指向OP的标记,你的答案是+1。