Javascript 如何添加占位符属性,如果;“价值”;字段为空
如果文本输入字段的“value”属性为空,是否有方法添加占位符属性(占位符标记,而不是“defaultvalue”和类似方法) 我在这里看到了许多类似的问题,但大多数问题都使用defaultvalue。我需要占位符标记,而且我根本不能影响HTML输出 这是给定的HTML输出示例:Javascript 如何添加占位符属性,如果;“价值”;字段为空,javascript,jquery,Javascript,Jquery,如果文本输入字段的“value”属性为空,是否有方法添加占位符属性(占位符标记,而不是“defaultvalue”和类似方法) 我在这里看到了许多类似的问题,但大多数问题都使用defaultvalue。我需要占位符标记,而且我根本不能影响HTML输出 这是给定的HTML输出示例: <input type="text" value="" name="textbox" id="edit-textbox"> 如果您使用的是HTML5(而且您应该这样做),则有一个本机占位符属性 <
<input type="text" value="" name="textbox" id="edit-textbox">
如果您使用的是HTML5(而且您应该这样做),则有一个本机占位符属性
<input type="text" value="" placeholder="My placeholder!" name="textbox" id="edit-textbox">
编辑
正如您所说,您不能编辑HTML,必须使用JS,这可能会有所帮助
$('编辑文本框').attr('占位符','我的占位符!')
同样,这是针对HTML 5的。我建议使用以下任何一种方法:
$('input:text').each(
function(i,el) {
if (!el.value || el.value == '') {
el.placeholder = 'placeholdertext';
/* or:
el.placeholder = $('label[for=' + el.id + ']').text();
*/
}
});
也可以使用数组存储各种占位符:
var placeholders = ['Email address', 'favourite color'];
$('input:text').each(
function(i,el) {
if (!el.value || el.value == '') {
el.placeholder = placeholders[i];
}
});
要为特定元素指定特定占位符,请执行以下操作:
var placeholders = {
'one' : 'Email address',
'two' : 'Favourite color'
};
$('input:text').each(
function(i,el) {
if (!el.value || el.value == '') {
el.placeholder = placeholders[el.id];
}
});
在特定输入的占位符对象中不存在条目的情况下添加了捕获/回退:
var placeholders = {
'oe' : 'Email address', // <-- deliberate typo over there
'two' : 'Favourite color'
};
$('input:text').each(
function(i,el) {
if (!el.value || el.value == '') {
el.placeholder = placeholders[el.id] || '';
}
});
var占位符={
‘oe’:‘Email address’,//@RPM这太简单了,不是吗?:)我写道我不能影响HTML输出。这是我的代码,我必须用jquery添加占位符属性,它根本不会影响HTML输出(除了添加占位符,这是你需要的,不是吗??)!但请记住,这是针对HTML 5的!我们彼此不理解。我在问题中编写了此代码。我只能使用jquery对其进行操作。你的解决方案建议我只编辑HTML代码,没有js我无法编辑。请注意,我不是发布到小提琴上的人。我想我得到了什么你是说现在。我将在下面编辑我的答案。@take2:正如你通过搜索可以找到的那样,有一个“HTML5”占位符
属性/属性(你也可以通过JS设置)还有一大堆不支持它的浏览器插件/代码段。那个么,你们在哪里有效地卡住了?我尝试了这两个建议,但都不起作用……你们可以在这里检查一下:你们需要在代码中使用一个实际的标签元素。你们并没有,所以那个不起作用。太棒了,谢谢!一个问题尽管如此,还是要写出这段代码——您如何引用应该受到影响的文本框,即我如何定位准确的输入框(在这种情况下使用#textbox)?你想知道如何为特定元素指定占位符消息吗?是的。我在这页上有2-3个文本框,所以我只针对这一个,其他人不需要占位符。这一个也可以,谢谢!大卫是第一个,所以我接受了他的答案。好的!请注意我们的答案完全不同,我的答案是你的问题是:“如何添加占位符属性”和设置值属性(如他的回答中所示)与它完全不同。我用firebug检查了他的代码,占位符文本显示为占位符属性,因此这将是我问题的答案。哦,我真的很抱歉,你完全正确!我被他的代码中使用“if”误导了,这就是为什么我认为他使用了value属性。如果你设置right属性(占位符)您不需要if语句来检查值是否为空,因为占位符属性的含义是在值为空时设置值。没问题;)老实说,我真的不知道这些细节,也许您应该建议David Thomas,你们可以更好地讨论它。
(function($) {
$('#edit-textbox').attr('placeholder','Your placeholder text');
})(jQuery);