输入框占位符无法正常工作?

4
<form role="search" method="get" id="searchform" class="searchform" action="<?php echo esc_url(home_url('/')); ?>">
  <input type="search" class="search rm-input" value="<?php echo get_search_query(); ?>" name="s" id="s" placeholder "Your name here"/>
  <input type="submit" style="display:none" id="searchsubmit" value="<?php echo esc_attr_x('Search', 'submit button'); ?>" />
</form>

我不知道为什么占位文本没有显示在字段中...

enter image description here

6个回答

8
您漏掉了'='符号。正确应该是:
placeholder="Your name here"

已添加截图,请查看。 - Sadia
根据您提供的截图,您的占位符丢失了吗? - MuthaFury
我不知道我已经在后端添加了它,但是当我检查元素时它并没有显示出来。 - Sadia
让我们在聊天中继续这个讨论 - Sadia
我已经尝试了上面给出的所有答案,但它们都不起作用。 - Sadia
显示剩余3条评论

2

占位符在非文本类型的输入框中不起作用,因此您需要在您的情况下使用value,如下所示:value="您想要显示的内容"


2

您在输入字段中忘记了等号=符号。

<input type="search" class="search rm-input" value="<?php echo get_search_query(); ?>" name="s" id="s" placeholder="Your name here"/>

2

在“Your name here”的占位符中缺少“=”。

只有当value属性为空时,才会显示占位符文本。在您的示例中,它具有值,因此该值将显示在那里。

带有值

 <input type="search" class="search rm-input" value="My name" name="s" id="s" placeholder="Your name here"/>

没有值

   <input type="search" class="search rm-input" value="" name="s" id="s" placeholder="Your name here"/>

参考:JsFiddle

PS: 如果你正在使用WordPress,请在你的主题文件夹中创建searchform.php并将表单添加到那里。


1
现在已解决,原因是缓存问题...

1
可能是因为占位符颜色没有从父元素继承,所以它可能是黑色的,在黑色背景上不可见。您可以这样更改:
input::-webkit-input-placeholder {
  color: #ffffff;
}

input:-moz-placeholder { 
  color: #ffffff;
}

input::-ms-input-placeholder  { 
  color: #ffffff;
}

我使用了输入作为选择器,你可能需要添加一些更好的特定性,比如给这个输入一个ID,像"searchBar",然后使用选择器 input#searchBar


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接