5

我的网站上有一个带有密码类型的输入标签。

<input type="password">

在 iPad 或 iPhone 上,当您输入密码时,它始终显示最后一个字母。

我的问题是我用 iPad 做了很多我的网站的演示。

我不希望 iPad 在我输入密码时显示最后一个字母。

我可以通过修改我网站上的内容来解决这个问题吗?

4

4 回答 4

2

不,iOS 会显示默认输入的密码的最后一个字母,并且无法禁用它。

出于演示目的,您有几个我能想到的选项。如果使用投影仪或电视输出,请在输入密码时断开设备或关闭屏幕,或者您可以为要演示的任何内容设置“演示”帐户。

通过设置“演示”帐户(这只是个人想法),您可以继续而不会跳过一个节拍(与关闭屏幕等相比),并且如果您的演示文稿的观众看到“演示”帐户登录名/密码应该没什么关系吧?

此外,这不言而喻,如果使用模拟账户,显然要确保它的访问权限有限!

于 2012-05-25T00:23:12.247 回答
2

iOS 密码控件可让您将密码粘贴到其中(甚至是 iTunes 商店密码弹出对话框)。

为什么不使用pwSafe 之类的密码应用程序来存储密码,然后将密码复制到剪贴板,甚至在演示之前将密码预复制到剪贴板中呢?这样您就不必重新发明密码控制,或弄乱模拟账户。

在此处输入图像描述

于 2012-05-25T01:19:08.083 回答
1

“最简单”的事情可能是创建一个自定义输入,它监听键并存储实际键值,同时仅在字段中显示 • 或 *。

只需附加一个关键侦听器并为您输入的每个字母显示一个 *,这样您就知道您实际上是在添加输入。

在左侧的字段中输入,我在右侧的字段中显示我正在收集的内容,而仅在您输入的位置显示星号。它需要一些工作来检测退格和大写字母等,但你明白了。小提琴示例:http: //jsfiddle.net/d94P5/

例子

<input type="text" id="password">
<input type="text" id="hiddenValue">​

Javascript

var field = document.getElementById("password")
var realValue = "";
field.onkeydown = function(evt){
    realValue += String.fromCharCode(evt.keyCode)      
    this.value = realValue.replace(/./g,"*");      
    document.getElementById("hiddenValue").value = realValue

    return false;   
}
于 2012-05-25T00:27:56.683 回答
0

或许可以为一个具有严格限制访问权限的虚拟帐户创建一个临时密码,并将您的站点配置为自动禁用该帐户并在您的演示时间结束时使密码过期。

于 2012-05-25T01:00:34.573 回答