2012-07-16 36 views
0

基本上我试图写一些代码来使用表单验证,我对此很新,但我管理好了,我想?我的问题基本上是这样的,我已经为我的表格中的3个输入创建了3种验证方法,但是我不太清楚我如何将所有3种方法添加到一个按钮单击中?简单的Javascript表单验证码问题

到目前为止我的代码是:

function validation() { 
    function validateName() { 
    console.log("reaching here"); 

    var name = document.getElementById("full_name"); 

    if (name.value.length == 0) { 
     document.getElementById("okName").className = "fail"; 
    }else{ 
     document.getElementById("okName").className = "success"; 
    } 
    }//End of validate name 

    function validateEmail() { 
    var email = document.getElementById("email"); 

    if (email.value.length == 0) { 
     document.getElementById("okEmail").className = "fail"; 
    }else{ 
     document.getElementById("okEmail").className = "success"; 
    } 
    }//end of validate email 

    function validatePhone() { 
    var phone = document.getElementById("phone"); 

    if (phone.value.length == 0) { 
     document.getElementById("okPhone").className = "fail"; 
    }else{ 
     document.getElementById("okPhone").className = "success"; 
    } 
    }//End of validate phone 
}//End of validation function 

我也试着删除个别功能的所有验证方法,只是让他们在一个单一的fnction但这难道不擦出火花?如果任何人都可以点亮我即将出错的地方,那将会很棒!提前欢呼!

回答

1

尝试的onclick()事件附加到您的提交按钮 - http://jsfiddle.net/zWrUM/

<button onclick="validation();">validate</button> 

<script> 
function validation() { 
    var name = document.getElementById("full_name"); 
    if (name.value.length == 0) { 
     document.getElementById("okName").className = "fail"; 
     alert("error 1"); 
     return false; 
    }else{ 
     document.getElementById("okName").className = "success"; 
    } 

    var email = document.getElementById("email"); 
    if (email.value.length == 0) { 
     document.getElementById("okEmail").className = "fail"; 
     alert("error 2"); 
     return false; 
    }else{ 
     document.getElementById("okEmail").className = "success"; 
    } 

    var phone = document.getElementById("phone"); 
    if (phone.value.length == 0) { 
     document.getElementById("okPhone").className = "fail"; 
     alert("error 3"); 
     return false; 
    }else{ 
     document.getElementById("okPhone").className = "success"; 
    } 

    alert("success") 
}//End of validation function 
</script> 
+0

出于某种原因,这不会达到验证的第二个阶段,它停在警报1?检查了控制台,看看它是否正在进行下一步,我可以看到它甚至没有那么远? – DannyW86 2012-07-16 13:58:01

+0

如果你的第一个输入有错误,它会返回false,这会停止功能的执行 – 2012-07-16 14:01:18

+0

好吧我现在就看到它!谢谢你的帮助!!有什么办法可以让所有检查都在同一时间完成? – DannyW86 2012-07-16 14:05:41