90

如何更改输入元素的占位符文本?

例如,我有 3 个文本类型的输入。

<input type="text" name="Email" placeholder="Some Text">
<input type="text" name="First Name" placeholder="Some Text">
<input type="text" name="Last Name"placeholder="Some Text">

如何使用 JavaScript 或 jQuery更改Some Text文本?

4

8 回答 8

164

如果您想使用 Javascript,那么您可以使用getElementsByName()方法来选择input字段并更改placeholder每个字段...请参阅下面的代码...

document.getElementsByName('Email')[0].placeholder='new text for email';
document.getElementsByName('First Name')[0].placeholder='new text for fname';
document.getElementsByName('Last Name')[0].placeholder='new text for lname';

否则使用 jQuery:

$('input:text').attr('placeholder','Some New Text');
于 2012-11-22T06:03:05.530 回答
29

此解决方案使用 jQuery。如果要对所有文本输入使用相同的占位符文本,可以使用

$('input:text').attr('placeholder','Some New Text');

如果你想要不同的占位符,你可以使用元素的 id 来改变占位符

$('#element1_id').attr('placeholder','Some New Text 1');
$('#element2_id').attr('placeholder','Some New Text 2');
于 2012-11-22T05:47:32.497 回答
13
var input = document.getElementById ("IdofInput");
input.placeholder = "No need to fill this field";

你可以在这里找到更多信息:http placeholder: //help.dottoro.com/ljgugboo.php

于 2015-12-21T17:22:55.283 回答
5

使用 jquery,您可以通过以下代码执行此操作:

<input type="text" id="tbxEmail" name="Email" placeholder="Some Text"/>

$('#tbxEmail').attr('placeholder','Some New Text');
于 2012-11-22T05:44:07.143 回答
4

我一直面临着同样的问题。

在 JS 中,首先您必须清除文本输入的文本框。否则不会显示占位符文本。

这是我的解决方案。

document.getElementsByName("email")[0].value="";
document.getElementsByName("email")[0].placeholder="your message";
于 2015-09-10T09:59:13.557 回答
0

尝试访问输入的占位符属性并更改其值,如下所示:

$('#some_input_id').attr('placeholder','New Text Here');

如果需要,还可以清除占位符,例如:

$('#some_input_id').attr('placeholder','');
于 2017-05-02T10:12:39.980 回答
0

对于 JavaScript 使用:

document.getElementsByClassName('select-holder')[0].placeholder = "This is my new text";

对于 jQuery 使用:

$('.select-holder')[0].placeholder = "This is my new text";
于 2018-04-08T00:40:38.240 回答
0

在您的 javascript 文件中

document.getElementsByName('Email')[0].placeholder = '电子邮件的新文本';

于 2022-02-07T21:23:58.057 回答