表单代码如下:
<form action = "login-in.html" name = "login" id = "login" method = "post">
<table>
<tr>
<td valign = "middle"><img src = "images/login_user.png" alt = "username"></td>
<td valign = "middle"><input type = "text" class = "inputbg" id = "username"></td>
</tr>
<tr>
<td valign = "middle"><img src = "images/login_password.png" alt = "password"></td>
<td valign = "middle"><input type = "password" class = "inputbg" id = "username"></td>
</tr>
<tr>
<td valign = "middle"></td>
<td valign = "middle"><input type = "checkbox" name = "remberP">Rember my password</td>
</tr>
</table>
<input type = "submit" value = "login" id = "lg"/>
</form>js代码如下:function checkLoginInfro(userName,password){
alert("xx");
if(userName == undefined || password == undefined){
alert("userName or password is null !");
return false;
}else{
return false;
}
}
document.getElementById("login").onsubmit = checkLoginInfro();
为什么这么绑定的时候,只在网页加载的时候调用一次就不在有效果了?

解决方案 »

  1.   

    document.getElementById("login").onsubmit = checkLoginInfro ;function checkLoginInfro(){
    alert("xx");
    var userName=document.getElementById('username').value;
    var passWordv=document.getElementById('password').value;
    if(userName =='' || passWordv =='' ){
    alert("userName or password is null !");
    return false;
    }else{
    return true;
    }
    }
      

  2.   

    你form里 定义的 userName和passWord的 id都是"userName".
     
      

  3.   

    这只是其一,我暂时觉得对你的需求功能影响不是很大,还没试过。
    其二(主要):
    document.getElementById("login").onsubmit = checkLoginInfro();
    你把方法checkLoginInfro()的调用放到js代码中,当然就只能执行一次了。要想每次都执行,需要放到
    <form action = "login-in.html" name = "login" id = "login" method = "post" onsubmit="checkLoginInfro()">的onsubmit方法中调用。
      

  4.   

    userName =='' || passWordv =='' 与userName == undefined || password == undefined
    有区别的,要不都加上
      

  5.   


    你就把onsubmit写到form属性里,
    然后你就用
    var userName=document.getElementById('username').value;
    var passWordv=document.getElementById('password').value;
    当然先把你2个ID都叫USERNAME改掉一个然后需要userName == undefined || password == undefined
    那是你找不到这个对象
      

  6.   

    @handancq,我怎么样才能放到ID为login的表单的onsubmit的方法里呢?我不想写到HTML中去,但是又要每次提交都执行,麻烦给个例子啊
      

  7.   

    就拿你的代码举个例子吧
    表单代码如下:<form action = "login-in.html" name = "login" id = "login" method = "post" onsubmit="return checkLoginInfro();">
    <table>
    <tr>
    <td valign = "middle"><img src = "images/login_user.png" alt = "username"></td>
    <td valign = "middle"><input type = "text" class = "inputbg" id = "username"></td>
    </tr>
    <tr>
    <td valign = "middle"><img src = "images/login_password.png" alt = "password"></td>
    <td valign = "middle"><input type = "password" class = "inputbg" id = "username"></td>
    </tr>
    <tr>
    <td valign = "middle"></td>
    <td valign = "middle"><input type = "checkbox" name = "remberP">Rember my password</td>
    </tr>
    </table>
    <input type = "submit" value = "login" id = "lg"/>
    </form>js代码如下:function checkLoginInfro(userName,password){
    alert("xx");
    if(userName == undefined || password == undefined){
    alert("userName or password is null !");
    return false;
    }else{
    return false;
    }
    }这样就可以在每次提交时进行表单验证了
      

  8.   

    但是我想不要在html页面里面有js的东西,比如说return checkLoginInfro()什么的
      

  9.   

    静态页和js分离,便于重用,问题已经解决,事实上在ready里面绑定函数不要带括号,只要有函数名就行了,带括号表示加载的时候也要执行该函数