使用JSF和AJAX存储用户/传递

时间:2017-01-15 19:07:27

标签: java html ajax jsf passwords

我知道页面上有一些类似这样的帖子,但是没有一个帖子对我有用。 我有一个使用jsf的登录表单,我使用ajax重新加载一个面板,具体取决于登录后的用户属性。我有两个问题: 第一个问题是我无法让浏览器提示保存密码。我读过如果您出于安全原因使用ajax浏览器不存储密码,是否可以强行执行此操作?或任何解决方法? 问题二(我认为更简单)我想在输入键上执行按钮。 这是我的表格:

<h:form id="formLogin">
        <h:panelGroup id="pgLogin" layout="block">
            <h:panelGroup id="panel1" rendered="#{empty login.sessionUsuario}" layout="block">
                <h:inputText type="text" id="userLogin" value="#{login.usuario}" autocomplete="on">
                </h:inputText>
                <h:message for="userLogin" class="error"/>
                <h:inputSecret type="password" id="passwordLogin" value="#{login.password}" autocomplete="on">
                </h:inputSecret>
                <f:ajax render="pgLogin loginOK" execute="@form" >
                    <h:commandLink id="btlogin" action="#{login.iniciarSesion}">
                        <button type="button" id="logIn">Log In</button>
                    </h:commandLink>
                </f:ajax>
            </h:panelGroup>
        </h:panelGroup>
    </h:form>

1 个答案:

答案 0 :(得分:0)

我假设您要从任一输入字段调用提交按钮。 将此脚本添加到您的页面:

<script>
    var triggerSubmit = function(event){
       if (event.keyCode == 13) {
            document.getElementById('btlogin').click();
       }
    };

    document.getElementById('userLogin')
        .addEventListener('keypress', triggerSubmit);

    document.getElementById('passwordLogin')
        .addEventListener('keypress', triggerSubmit);
</script>