我正在构build一个iPhone应用程序,它只是一个基于表单login的现有移动网站的UIWebView 。 当我在iPhone Safari上login到移动网站时,系统会提示我保存用户名/密码,然后在稍后返回网站时自动填充。 我想在UIWebView启用相同的function,但在我的生活中,我无法弄清楚如何做到这一点。 有任何想法吗? 解 遵循迈克尔的基本模型(见接受的答案),我能够完成这个工作。 以下是我所做的: 设置数据 – (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType; { //save form data if(navigationType == UIWebViewNavigationTypeFormSubmitted) { //grab the data from the page NSString *username = [self.webView stringByEvaluatingJavaScriptFromString: @"document.myForm.username.value"]; NSString *password = [self.webView stringByEvaluatingJavaScriptFromString: @"document.myForm.password.value"]; //store values locally [[NSUserDefaults standardUserDefaults] setObject:username forKey:@"username"]; [SFHFKeychainUtils storeUsername:username andPassword:password forServiceName:@"MyService" updateExisting:YES error:nil]; […]
我正在寻找完整的表单字段名称( <input name="…"> ),这些名称被主要浏览器中的自动填充function所识别。 这里有一些我发现在Safari中使用试错法: email Ecom_ReceiptTo_Postal_Name_First Ecom_ReceiptTo_Postal_Name_Last first-name firstname last-name lastname full-name birthday company jobtitle phone street city country state (用于美国以外的县) postalcode zip 然而,我找不到单独的字段标题/敬语前缀(它只包含在全名中)。 歌剧的魔杖可识别或多或less相同的名称,但名称除外,这需要Ecom_ReceiptTo_Postal_Name_First和Ecom_ReceiptTo_Postal_Name_Last 。 我找不到手机号码的字段。 还没有find办法获得单独的家庭/工作领域。 有提议扩展autocomplete属性 ,以便开发人员明确指定这些。
您可能已经知道,无论您是否设置了autocomplete="off" ,Safari都有一个令人讨厌的自动填充错误,它填充了电子邮件,用户名和密码字段。 这是一个基本的forms: <form action="/" method="post"> <p> <label>E-mail</label> <input type="text" name="email" value="" /> </p> <p> <label>Password</label> <input type="password" name="password" value="" /> </p> </form> … Safari自动填充页面加载这些领域应该像,应做得很好! 如果您将autocomplete="off"到字段和/或表单元素,则Safari仍会自动填充这些字段: <form action="/" method="post" autocomplete="off"> <p> <label>E-mail</label> <input type="text" name="email" value="" autocomplete="off" /> </p> <p> <label>Password</label> <input type="password" name="password" value="" autocomplete="off" /> </p> </form> 即使这不起作用: <form action="/" method="post" autocomplete="off"> <p> […]
我有一个要求,我必须使用引导自动完成下拉菜单,但用户可以在该下拉列表中的自由格式文本,如果他们希望。 在考虑TypeAhead之前,我可以使用Bootstrap TypeAhead文本框,但是我需要下拉菜单,因为我们希望给一些默认值作为headstart选项,以防用户不知道要search的内容。 我正在使用MVC的DropDownListFor这为我们创build一个select控制。 我发现这篇文章是为我做的。 https://github.com/danielfarrell/bootstrap-combobox/pull/20 我所要做的只是从select控制中取下名字,控制让我进入自由forms的文本。 迄今为止都很好。 现在,我和Knockoutjs一起使用它。 我将我的选项和选定的值绑定到select控件,然后在我的模板的行渲染上,我调用了(select器).combobox(),这使得select控件成为引导combobox,并添加了input控件,并隐藏了场景中的select控件背后。 现在的问题是,当我尝试让他的值发布到服务器,因为我把它放在input框中的值不是我给select控件的选项的有效选项,默认情况下总是将其设置为第一个选项。 这是因为我设置了select控件上的选定值的绑定,而不是由bootstrap-combobox.js创build的input框。 我的问题是如何获得input框数据绑定到select控件绑定到相同的属性。 任何其他选项? 让我知道如果你需要更多的澄清或有问题。 请build议。 谢谢。
我想知道是否有某种特殊的标记来启用特定表单的Chrome自动填充function。 我只发现如何禁用它的问题,但我想知道,如果我可以添加一些标记的HTML代码,以告诉浏览器“这是input的地址”或“这是邮政编码字段“来正确填写(假设用户激活了这个function)。
在我的一个项目中,我在XCode中遇到了一个相当奇怪的问题。 当我开始写我的代码时,我习惯于自动完成为我提供许多条目。 由于某种原因,从昨天开始,这已经停止了工作。 我现在得到了奇怪的自动完成条目,如“and”,“the”,“Andy”,“MyCompanyName”等 这从来没有发生过,所以我很困惑,为什么现在发生了,只有我的一个项目。 我search了这个网站相当一段时间的任何修复,我试图清理派生数据,退出XCode,从XCode项目删除工作区和用户文件,并重新启动,但这样做后,自动完成工作一段时间,然后在编码约30秒后再次中断。 我有时可以看到自动完成的解决scheme,但只是纯文本(没有阶级指标),然后有时完全停止工作。 有没有人经历过这样的事情,可以提供一些解决scheme?
我有两个基本的forms – login和注册,在同一页上。 现在,我填写表单自动填写没有问题, 但registry单自动填充,我不喜欢它。 此外,窗体样式得到一个黄色的背景,我不能设法重写,我不想使用内联CSS来这样做。 我能做些什么来使他们不要被染成黄色 和(可能)自动填充 ? 提前致谢!
Google Chrome的devise问题及其表单自动填充function。 如果Chrome记得某些login名/密码,它会将背景颜色更改为黄色。 以下是一些截图: 如何删除该背景或只是禁用此自动填充?
为政府医疗机构工作的乐趣之一就是不得不处理所有关于PHI(受保护的健康信息)的偏执狂。 不要误解我的意思,我尽一切努力来保护人们的个人信息(健康,财务,上网习惯等),但是有时候人们会有点过于激动。 案例:我们最近的一位国有客户发现,浏览器提供了方便的function来保存您的密码。 我们都知道它已经存在了一段时间,完全是可选的,取决于最终用户决定是否明智决定是否使用。 然而,目前有一些哗然,我们正在被要求find一种方法来禁用我们网站的function。 问 :有没有办法让网站告诉浏览器不要提供记住密码? 我已经围绕Web开发了很长一段时间,但不知道我曾经遇到过。 任何帮助表示赞赏。
我一直在遇到几种forms的自动填充行为的问题。 表单中的字段都有非常普通和准确的名称,例如“email”,“name”或“password”,同时也有autocomplete="off"设置。 自动填充标志已成功禁用了自动填充行为,在您开始input时出现下拉列表的值,但未更改Chrome自动填充字段的值。 这种行为是可以的,除了chrome不正确地填充input,例如用电子邮件地址填充电话input。 客户对此抱怨,所以经过validation,在多种情况下都会发生这种情况,而不是我在本地机器上完成的某些结果。 我能想到的唯一的当前解决scheme是dynamic生成自定义input名称,然后提取后端的值,但这似乎是一个相当hacky围绕这个问题的方式。 是否有任何标签或怪癖,改变自动填充行为,可以用来解决这个问题?