alert会阻塞线程的,因为js是单线程的,所以只会弹出一个alert
有2种方案:
1,修改alert函数
window.alert = function(){
    //构造DIV,然后显示
}
2,利用ajax,实现多线程

解决方案 »

  1.   

    不会啊   是会顺序执行的     只要没有return 就不会停止   错几个就会弹几个
      

  2.   

    不会ajax的,我不要有几个错弹出几个窗口,我要的是无论几个错只弹出一个Message窗口!而且还要把这些验证写成共通。
      

  3.   


    那如何把几个验证写成共通的啊??help help help 
    3Q 3Q 3Q
      

  4.   

    喔。明白了你在 alert("userName不可为空,请输入userName!");
    每个alert下面加个return false;
      

  5.   

     alert("userName不可为空,请输入userName!");return;都把return带上。
      

  6.   


     if(userName=="")
        {
            alert("userName不可为空,请输入userName!");
           return false;
        }   <input type="button" value="Register" onclick="return check();"/>
     
      

  7.   

    我要的是var userName=document.getElementById("userName").value;
    这里的“userName”不是个参数嘛,我想让它实现传参,实现通用
      

  8.   


    var input_array=document.getElementsByTagName("input");
    for(var i in input_array){
    if(input_array[i].value==""){
    alert(input_array[i].getAttribute("id")+"不能为空");
    }
    }
      

  9.   

    var input_array=document.getElementsByTagName("input");
    for(var i in input_array){
    if(input_array[i].value==""){
    alert(input_array[i].getAttribute("id")+"不能为空");
    }
    }
      

  10.   


    function getValue(id)
    {
        return document.getElementById(id).value;
    }这样就可以返回某个元素的值了,你是这个意思不?
      

  11.   

    这个也是弹出好多Message框啊、不是我想要的啦、、、、
      

  12.   

    这还不简单啊,在alert之后,加上break;或者return;
      

  13.   


    什么怎么改?怎么调用?
    var value = getValue(传入元素的ID);
      

  14.   


        var input_array=document.getElementsByTagName("input");
            for(var i in input_array){
                if(input_array[i].value==""){
                    alert(input_array[i].getAttribute("id")+"不能为空");
                    return;
                }    
            }
    好吧  我承认这样是符合你的  
      

  15.   

    像这种表单验证,一般都不是自己写了,最好用的就是JQuery的validate,这个框架很好用!你网上搜下
      

  16.   

    不喜欢用JQuery,而且也不让用JQuery、、、可以帮忙改下吗??或者写个简单的sample。谢谢~~
      

  17.   

    不喜欢用JQuery,而且也不让用JQuery、、、可以帮忙改下吗??或者写个简单的sample。谢谢~~
      

  18.   

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html>
    <head>
    <title></title>
    <script>
    function checkForm(){
    var arr = ['userName','passWord'];
    checkValues(arr);
    }

    function checkValues(arr){
    for(var i in arr){
    var value = getValue(arr[i]);
    if(value==""){
    alert(arr[i]+"不能为空!");
    return;
    }
    }
    }

    function getValue(id){
    return document.getElementById(id).value;
    }
    </script>
    </head><body>
    <input type='text' id='userName' />
    <input type='password' id='passWord' />
    <input type=button value='提交' onclick='checkForm()'>
    </body>
    </html>
    时间关系,我就先给你写了一个简单的,当然还可以再写的灵活点,没时间了,下班了!
      

  19.   

    每个alert下面加一个return false;
      

  20.   

    我回来又给你补充了下哈:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html>
    <head>
    <title></title>
    <script>
    function checkForm(){
                       //根据个人需求,你可以在arr中随意添加属性,然后在checkValues中去判断有没有这个属性,然后做相应的操作就OK...
    var arr = [
    {name:'用户名',id:'userName',minLen:6},
    {name:'密码',id:'passWord',minLen:2},
    {name:'下拉',id:'s'},
    {name:'复选框',id:'checkbox'}];
    checkValues(arr);
    }

    function checkValues(arr){
    for(var i in arr){
    var obj = getObj(arr[i].id);
    var type = getObj(arr[i].id).type;
    if(type=='text' || type=='select-one' || type=='password'){
    if(obj.value==""){
    if(type=='text' || type=='password')
    alert(arr[i].name+"不能为空!");
    else if(type=='select-one')
    alert("请选择"+arr[i].name);
    return;
    }else if(arr[i].minLen!='undefined' && typeof(arr[i]).minLen=='number' && (type=='text' || type=='password')){
    if(obj.value.length<arr[i].minLen){
    alert(arr[i].name+"不能小于"+arr[i].minLen+"位");
    return;
    }
    }
    }else if(type=='checkbox'){
    if(obj.checked==false){
    alert("请勾选"+arr[i].name);
    return;
    }
    } }
    }

    function getObj(id){
    return document.getElementById(id);
    }
    </script>
    </head><body>
    <input type='text' id='userName' />
    <input type='password' id='passWord' />
    <select id="s"><option value=''>请选择</option><option value='1'>ssss</option></select>
    <input type="checkbox" id="checkbox">
    <input type=button value='提交' onclick='checkForm()'>
    </body>
    </html>
      

  21.   

    在每个alert后加上 return FALSE;