IOS 7 Safari(以及 OSX 10.9)信用卡提示“not now”导致问题
Posted
技术标签:
【中文标题】IOS 7 Safari(以及 OSX 10.9)信用卡提示“not now”导致问题【英文标题】:IOS 7 Safari (as well as OSX 10.9) Credit Card prompt "not now" causing issues 【发布时间】:2014-02-14 01:14:09 【问题描述】:当用户选择“Not Now”到iCloud Keychain信用卡提示(ios 7 Safari)时,表单提交出现问题。
在 IOS 7 Safari 上,表单不会提交。
重新加载表单可以解决问题,但这不是必需的。
【问题讨论】:
找到解决方案了吗?字段中的 autocomplete="off" 应禁用此功能 autocomplete="off" 不起作用; IOS 7 Safari 设法要求无论如何都要记住。 【参考方案1】:我发现这个问题是由包含 type="password" 输入的表单引起的。一旦我删除该输入,或将其更改为“文本”,用户点击“不是现在”后,表单就会正常提交。
【讨论】:
【参考方案2】:我们遇到了这个确切的问题。正如 Guy Thomas 所提到的,这是因为表单中有密码字段和 CC 字段。
经过大量测试,我确定密码字段可以在提交表单之前切换到不同的type
(在我们的例子中,只是切换到hidden
)。即使在对话框中选择“Not Now”后,这也允许表单提交。
$("#submit").on("click", function()
try
$("input[type=password]").attr("type", "hidden");
catch(ex)
try
$("input[type=password]").prop("type", "hidden");
catch(ex)
);
我添加了 try/catch,因为根据浏览器/jquery 版本,更改 type 属性会出错。
【讨论】:
以上是关于IOS 7 Safari(以及 OSX 10.9)信用卡提示“not now”导致问题的主要内容,如果未能解决你的问题,请参考以下文章
OSX 10.9 - Mavericks webdav 客户端锁定问题
跨域资源共享的问题:预检请求后 OSX Safari 和 iOS Safari 均失败
OSX 10.9 Mavericks 钥匙串 API 坏了?