Safari和Chrome中的密码输入字段

时间:2014-06-09 10:07:15

标签: javascript html css google-chrome safari

我现在已经在IE完成了我的应用程序,一切正常,然后我在Safari和Chrome中运行了我的应用程序,遇到了Input field类型为Password的问题用于显示密码的图标和用于通知用户大写锁定已打开的消息框。

现在我知道不同的浏览器支持不同的东西,我只是想知道是否有人发现了我可以使用的任何内容或添加到我的代码中以使其工作?

这就是我的意思(IE):

enter image description here

现在是Safari:

enter image description here

<%-- Password Input --%>
<input runat="server" id="txt_password" class="InputBoxLoginPage" type="password" placeholder="Password..." />

2 个答案:

答案 0 :(得分:2)

我明白你的意思。我也有这个问题。不同浏览器以不同方式呈现密码字段所以我使用了这个解决方法:

<div class="well_head" style="height: 36px;">  
    <input type="text" class="password" style="border: 0px; float: right; padding-left: 30px;" />  
    <input type="password" class="password" style="border: 0px; float: right; padding-left: 30px;" />  
    <i class="icon-password" style="float: left; margin-top: 4px;"></i>  
</div>
<div id="capsWarning" style="display:none;">Caps Lock is on.</div>  

以下是@misterManSam针对大写锁定弹出窗口的代码。

$(document).ready(function() {  

    /*   
    * Bind to capslockstate events and update display based on state   
    */  
    $(window).bind("capsOn", function(event) {  
        if ($("#Passwd:focus").length > 0) {  
            $("#capsWarning").show();  
        }  
    });  
    $(window).bind("capsOff capsUnknown", function(event) {  
        $("#capsWarning").hide();  
    });  
    $("#Passwd").bind("focusout", function(event) {  
        $("#capsWarning").hide();  
    });  
    $("#Passwd").bind("focusin", function(event) {  
        if ($(window).capslockstate("state") === true) {  
            $("#capsWarning").show();  
        }  
    });  

    /*   
    * Initialize the capslockstate plugin.  
    * Monitoring is happening at the window level.  
    */  
    $(window).capslockstate();  

});

我正在使用AngularJS,点击该图标我正在切换两个字段。 两个字段(文本和密码)也绑定到同一个变量。

这对我有用。希望它也能帮到你。

PS。为CapsLock Popup div做你的风格:) 一切顺利。

答案 1 :(得分:1)

好的,所以大写锁定警告是基于IE的。我不知道:)

一个好的解决方案是使用jQuery和HTML / CSS来模拟它。

This is a fiddle I found。开始在密码字段中键入大写锁定以输入警告。

This is the github page for the jQuery plugin.

这是它的简单实现。

HTML

<div id="form">
  username
  <input type="text" />
  <br>
  password
  <input type="password" name="Passwd" id="Passwd" />
  <div id="capsWarning" style="display:none;">Caps Lock is on.</div>
</div>

jQuery

$(document).ready(function() {

    /* 
    * Bind to capslockstate events and update display based on state 
    */
    $(window).bind("capsOn", function(event) {
        if ($("#Passwd:focus").length > 0) {
            $("#capsWarning").show();
        }
    });
    $(window).bind("capsOff capsUnknown", function(event) {
        $("#capsWarning").hide();
    });
    $("#Passwd").bind("focusout", function(event) {
        $("#capsWarning").hide();
    });
    $("#Passwd").bind("focusin", function(event) {
        if ($(window).capslockstate("state") === true) {
            $("#capsWarning").show();
        }
    });

    /* 
    * Initialize the capslockstate plugin.
    * Monitoring is happening at the window level.
    */
    $(window).capslockstate();

});

对于CSS,您可以定位#capsWarning并让它看起来像你想要的那样。