首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Jquery验证与占位符Poly填充不兼容?[IE9 Bug]

Jquery验证与占位符Poly填充不兼容?[IE9 Bug]
EN

Stack Overflow用户
提问于 2013-06-14 22:07:49
回答 1查看 1.2K关注 0票数 2

我目前正在结合使用Mathias Bynens的占位符多边形填充jquery.validate插件(v1.11.1),并且在Internet 9中遇到了一个令人沮丧的错误。

如果type="password"字段定义了非空的placeholder属性,则无法获得所需的字段验证。一旦输入了一个值,占位符文本就消失了,剩下的验证就能正常工作了。

这个代码的实时演示可以在这里找到

JS

代码语言:javascript
运行
复制
$('input').placeholder(); // init placeholder plugin
signupFormValidator = $('form').validate(); // init validation

代码语言:javascript
运行
复制
<form>
  <input class="required" type="text" name="test" id="test" placeholder="test"><br>
  <input class="required" type="password" name="password" id="password" placeholder="password"><br>
  <input class="required" type="password" name="confirm"  id="confirm"  placeholder="confirm"><br>
  <input type="submit">
</form>
EN

回答 1

Stack Overflow用户

发布于 2013-11-25 19:25:21

编辑:这个补丁在火狐中引入了bug。请参阅下面的评论。

为了解决这个问题,我最终使用了一些我自己烤的相当讨厌的jQuery:

代码语言:javascript
运行
复制
$('#password, #confirm').keyup(function() {
    var $input = $(this);
    if ($input.attr('type') === 'text') {
        if ($input.val().length > 0) {
            $input.attr('type', 'password');
        }
    } else if ($input.val() === "") {
        $input.attr('type', 'text');
    }
});

这样做的目的是将字段type设置为"text“而不是"password",从而有效地消除了这个讨厌的占位符问题。

小问题:密码的第一个字符在开始输入文本时显示为纯文本。

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

https://stackoverflow.com/questions/17117971

复制
相关文章

相似问题

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