如何让浏览器使用gwt bootstrap提示保存密码?

时间:2013-10-04 13:49:24

标签: gwt twitter-bootstrap uibinder gwt-bootstrap

我有一个登录页面,其中包含gwt引导程序文本框,密码文本框和提交按钮

<g:VerticalPanel height="400px" width="50%">
                <b:WellForm  height="400px" ui:field="loginPanel">


                    <g:VerticalPanel horizontalAlignment="ALIGN_CENTER"
                        width="100%">
                        <b:FormLabel ui:field="emailErrorLabel" visible="false">
                            <font color="red">
                                <i>&nbsp;Please enter your login name</i>
                            </font>
                        </b:FormLabel>
                        <b:TextBox  alternateSize="LARGE" b:id="Email"
                            ui:field="Email" placeholder="E-mail"  width="335px"
                            height="30px" />
                    </g:VerticalPanel>


                    <g:VerticalPanel horizontalAlignment="ALIGN_CENTER" width="100%">
                        <b:FormLabel ui:field="passwordErrorLabel" visible="false">
                            <font color="red">
                                <i>&nbsp; Please enter password</i>
                            </font>
                        </b:FormLabel>
                        <b:PasswordTextBox  width="335px"
                            alternateSize="LARGE" ui:field="password" placeholder="Password"
                            height="30px" />
                    </g:VerticalPanel>
                    <b:Button type="PRIMARY" ui:field="loginButton" icon="SIGNIN">Login</b:Button></b:Wellform>

即时设置以下属性

loginPanel.setMethod("POST");
    loginPanel.getElement().setPropertyString("autocomplete", "on");
    Email.getElement().setAttribute("type", "text");
    password.getElement().setAttribute("type", "password");

点击登录我正在调用一个执行登录的rpc。我错过了什么属性。如何让我的浏览器提示保存密码选项。

1 个答案:

答案 0 :(得分:1)

要使浏览器检测到可保存的密码,您必须具有以下HTML:

<form>
    <input type="text" />
    <input type="password" />
</form>

确保您的GWT代码汇编到浏览器中的这些元素中。 当该表单执行“提交”操作时,浏览器会要求保存密码。我认为既然您有一个用于手动登录用户的点击处理程序,而不是您的表单执行POST,则浏览器不会意识到它是登录。

另外,我相信你不需要这个:

password.getElement().setAttribute("type", "password");

因为<b:PasswordTextBox已编译成<input type="password" />。 “电子邮件”字段可能也没必要,但我不确定。