我正在尝试使用JSF创建一个使用用户名(显示),角色(隐藏)和密码(隐藏)的单独表单。如何使用JavaScript显示/隐藏HTML元素
首先,用户输入他/她的用户名,然后点击一个“验证”按钮。如果用户名存在,则页面必须显示用户名角色,密码输入的角色<h:SelectOneMenu>
,并且还隐藏“验证”按钮。
中的作用和密码输入默认情况下通过CSS隐藏:
<body>
<div class="container">
<h:form styleClass="form-signin">
<h2 class="form-signin-heading">SISE<br><small>Inicio de Sesión</small></h2>
<label for="inputEmail" class="sr-only">Nombre de Usuario</label>
<input type="text" id="inputEmail" class="form-control" placeholder="Nombre de usuario" required autofocus>
<br>
<h:commandButton styleClass="btn btn-lg btn-primary btn-block" value="Validar" action="#{beanInicioSesion.buscarUsuarioDB}" />
<h:selectOneMenu styleClass="form-control hide">
<f:selectItem itemLabel="Something" itemValue="Something"></f:selectItem>
</h:selectOneMenu>
<label for="inputPassword" class="sr-only">Contraseña</label>
<input type="password" id="inputPassword" class="form-control hide" placeholder="Contraseña" required>
<br>
<h:commandButton styleClass="btn btn-lg btn-primary btn-block hide" value="Iniciar sesión" />
</h:form>
</div>
</body>
以下是我在我的管理用户的登入豆:
public String buscarUsuarioDB() throws SISE_Exceptions, SQLException {
int usuarioValidado = 0; //validatedUser
UsuarioDB usrDB = new UsuarioDB();
try {
usuarioValidado = usrDB.consultarUsuario(this.getNombreUsuario());
if (usuarioValidado == 0) {
setMensaje("Usuario Invalido");
} else {
setMensaje("Usuario Valido");
//Valid user, then show/display the <h:selectOneMenu> and password input.
}
} catch (Exception e) {
// TODO: Add catch code
e.printStackTrace();
}
return "";
}
所以问题是,如何从我的buscarUsuarioDB()方法中选择HTML元素,以便将它们设置为在JSP中显示/隐藏?
你需要一些Ajax做这个username.exists-check live – Rick