首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >提交表单后更改占位符颜色

提交表单后更改占位符颜色
EN

Stack Overflow用户
提问于 2016-12-27 00:17:07
回答 2查看 664关注 0票数 0

根据这个:Change an HTML5 input's placeholder color with CSS改变占位符颜色的代码是:

代码语言:javascript
复制
::-webkit-input-placeholder { /* WebKit, Blink, Edge */
    color:    #909;
}
:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
   color:    #909;
   opacity:  1;
}
::-moz-placeholder { /* Mozilla Firefox 19+ */
   color:    #909;
   opacity:  1;
}
:-ms-input-placeholder { /* Internet Explorer 10-11 */
   color:    #909;
}

这段代码真的很好,而且运行得很好。然而,我有一个小问题。当有人点击“提交”时,我想改变占位符的颜色(唯一的问题是在js上改变它的功能…其他一切都运行良好)。这就是我试图用js做的事情:

代码语言:javascript
复制
$("#email").css('::-webkit-input-placeholder', 'red');
$("#email").css(':-moz-placeholder', 'red');
$("#email").css('::-moz-placeholder', 'red');
$("#email").css(':-ms-input-placeholder', 'red');

这对我不起作用。我应该做些什么来修复它呢?我猜是个小东西,但我修不好...有什么建议吗?

EN

回答 2

Stack Overflow用户

发布于 2016-12-27 00:27:20

您可以在表单上添加一个类,并在其中继承属性,而不是使用JS更改CSS。当有人提交表单时,在表单标签上显示类似于addClasstoggleClass的内容。

JS:

代码语言:javascript
复制
$('.form-btn').on('click', function(e) {
  e.preventDefault();
  $(this).parent().closest('form').toggleClass('submit-form');
});

CSS (继承自 .submit-form 类):

代码语言:javascript
复制
form.submit-form ::-webkit-input-placeholder {
  /* WebKit, Blink, Edge */
  color: red;
}

form.submit-form :-moz-placeholder {
  /* Mozilla Firefox 4 to 18 */
  color: red;
  opacity: 1;
}

form.submit-form ::-moz-placeholder {
  /* Mozilla Firefox 19+ */
  color: red;
  opacity: 1;
}

form.submit-form :-ms-input-placeholder {
  /* Internet Explorer 10-11 */
  color: red;
}

看看下面的代码片段:

代码语言:javascript
复制
$('.form-btn').on('click', function(e) {
  e.preventDefault();
  $(this).parent().closest('form').toggleClass('submit-form');
});
代码语言:javascript
复制
input[type="email"] {
  display: block;
  font-size: 20px;
  margin-bottom: 10px;
}

::-webkit-input-placeholder {
  /* WebKit, Blink, Edge */
  color: #909;
}

:-moz-placeholder {
  /* Mozilla Firefox 4 to 18 */
  color: #909;
  opacity: 1;
}

::-moz-placeholder {
  /* Mozilla Firefox 19+ */
  color: #909;
  opacity: 1;
}

:-ms-input-placeholder {
  /* Internet Explorer 10-11 */
  color: #909;
}

form.submit-form ::-webkit-input-placeholder {
  /* WebKit, Blink, Edge */
  color: red;
}
form.submit-form :-moz-placeholder {
  /* Mozilla Firefox 4 to 18 */
  color: red;
  opacity: 1;
}
form.submit-form ::-moz-placeholder {
  /* Mozilla Firefox 19+ */
  color: red;
  opacity: 1;
}
form.submit-form :-ms-input-placeholder {
  /* Internet Explorer 10-11 */
  color: red;
}
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form class="" action="">
  <input type="email" placeholder="Enter Email" />
  <button class="form-btn">Submit (change placeholder color)</button>
</form>

希望这能有所帮助!

票数 1
EN

Stack Overflow用户

发布于 2016-12-27 00:29:15

希望这能起作用!!

代码语言:javascript
复制
$("#email").addClass('success');
代码语言:javascript
复制
.success::-webkit-input-placeholder {
  color: orange;
}
.success::-moz-placeholder{
  color: orange;
}
.success:-ms-input-placeholder{
  color: orange;
}
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<input type="email" id="email" placeholder="email" />

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41333721

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档