2013-03-27 49 views
0

我在做與Java + AJAX的登錄,我有以下代碼:沒有回報我價值的用戶和密碼

在我的形式:

<s:form id="formulario" action="javascript:validaUsuario();" method="get" > 
    <s:textfield key="usuario" name="usuario" /> <br/> 
    <s:password key="password" name="password" /> <br /> 
    <div style="float:left; padding-left:100px; padding-top:20px"> 
    <s:submit value="Enviar" /> 
    </div> 
</s:form> 

當我輸入用戶名和密碼信息不會發送到actionLogin。

的ValidateUser

javascript:validaUsuario() 

function validaUsuario(
){ 
    alert($("#usuario").val()); 
    $.get("login2.action",{usuario:$("#usuario").val(), password:$("#password").val()} 
    ,okusuario); 

    return false; 
} 

function okusuario(data){ 

    if(data["rol"]==0){ 
     $("#error").text("Usuario/Contraseña incorrecto"); 
    } 
    else{ 
     $("#usuario").html(data["user.login"]); 

     } 

} 

struts.xml中

<action name="login2" class="com.gustavomasana.action.LoginAction" method="buscaRol"> 
      <result name="success">index.jsp</result> 
</action> 

LoginAction.java

public class LoginAction extends ActionSupport { 

    private Collection<Usuario> Usuario; 
    private Usuario user; 
    private Integer rol; 
    private String usuario; 
    private String password; 
    private String pagina; 
    private String error; 

    public String buscaRol() { 

     rol = Usuario_bo.buscaRol(usuario, password); 
     if (rol==0){ 
      error = "El usuario/contraseña es incorrecto. "; 
     } 
     else{ 
      Map session = ActionContext.getContext().getSession(); 
      user=Usuario_bo.buscaUsuario(usuario, password); 
      session.put("userSesion",user); 
     } 
     return SUCCESS; 
    } 


    public Collection<Usuario> getUsuario() { 
     return Usuario; 
    } 

    public void setUsuario(Collection<Usuario> usuario) { 
     Usuario = usuario; 
    } 

    public Usuario getUser() { 
     return user; 
    } 

    public void setUser(Usuario user) { 
     this.user = user; 
    } 

    public Integer getRol() { 
     return rol; 
    } 

    public void setRol(Integer rol) { 
     this.rol = rol; 
    } 

    public String getusuario() { 
     return usuario; 
    } 

    public void setusuario(String usuario) { 
     this.usuario = usuario; 
    } 

    public String getPassword() { 
     return password; 
    } 

    public void setPassword(String password) { 
     this.password = password; 
    } 

    public String getPagina() { 
     return pagina; 
    } 

    public void setPagina(String pagina) { 
     this.pagina = pagina; 
    } 

    public void setUsuario(String usuario) { 
     this.usuario = usuario; 
    } 

    public String getError() { 
     return error; 
    } 

    public void setError(String error) { 
     this.error = error; 
    } 

爲什麼?

感謝

+0

'action =「javascript:validaUsuario();」'我真的不認爲你可以對JavaScript函數進行表單操作。如果你願意,我會感到很驚訝。你可以編寫'onSubmit'處理程序 – 2013-03-27 17:30:14

回答

0

Should't你在你的JavaScript驗證被封堵onsubmit屬性,而不是action屬性?類似於

<s:form id="formulario" action="somevalidurl" onsubmit="javascript:validaUsuario();" method="get" >