function dsubmitStory(){
if($("#u_tag").val() =="" || $("#u_tag").val() =="最少要入兩個標籤,用“,”分隔"){
alert("標籤不能為空!");
}else{
var t = $("#u_tag").val().split(",");
if(t.length<2){
alert("請最少輸入兩個標籤!");
}else if(t.length>=2&&t.length<=3){
for(var j=0;j<t.length;j++){
if(t[j].length>20){
alert("標籤長度不能超過20!");
}
}
}
else if(t.length>3){
alert("最多只能輸入三個標籤!");
}else{
document.addStory.submit(); 
}
}
}
我现在的问题是验证方面没有问题时,点提交没有反应JavaScriptJava

解决方案 »

  1.   

     document.addStory.submit(); 可以保证验证没问题的时候,这句被执行了?或者在这句前面加个alert
      

  2.   

    document.addStory.submit(); 
    是不是你忘记了提交路径没写.
      

  3.   

    就是当标签有2个的时候 else if(t.length>=2&&t.length<=3){
                for(var j=0;j<t.length;j++){
                    if(t[j].length>20){
                        alert("標籤長度不能超過20!");
                    }
                }
    验证没有任何提示,也就是说已经通过验证了,接下来就按提交没有任何反应,document.addStory.submit(); 没有被执行,帮忙看看我的js逻辑友们有问题,有的话帮忙改一下,谢谢
      

  4.   

    你这是逻辑关系的问题吧,进如else if了,在else中的submit当然不会被执行了
      

  5.   

    就是当标签有2个的时候 else if(t.length>=2&&t.length<=3){
                for(var j=0;j<t.length;j++){
                    if(t[j].length>20){
                        alert("標籤長度不能超過20!");
                    }
                }
    验证没有任何提示,也就是说已经通过验证了,接下来就按提交没有任何反应,document.addStory.submit(); 没有被执行,帮忙看看我的js逻辑友们有问题,有的话帮忙改一下,谢谢试试这个:function dsubmitStory(){
        if($("#u_tag").val() =="" || $("#u_tag").val() =="最少要入兩個標籤,用“,”分隔"){
            alert("標籤不能為空!");
    return false;
        }else{
            var t = $("#u_tag").val().split(",");
            if(t.length<2){
                alert("請最少輸入兩個標籤!");
    return false;
            }else if(t.length>=2&&t.length<=3){
                for(var j=0;j<t.length;j++){
                    if(t[j].length>20){
                        alert("標籤長度不能超過20!");
    return false;
                    }
                }
            }else if(t.length>3){
                alert("最多只能輸入三個標籤!");
    return false;
            }
            //验证通过执行
    document.addStory.submit(); 
        }
    }
      

  6.   

    就是当标签有2个的时候 else if(t.length>=2&&t.length<=3){
                for(var j=0;j<t.length;j++){
                    if(t[j].length>20){
                        alert("標籤長度不能超過20!");
                    }
                }
    验证没有任何提示,也就是说已经通过验证了,接下来就按提交没有任何反应,document.addStory.submit(); 没有被执行,帮忙看看我的js逻辑友们有问题,有的话帮忙改一下,谢谢试试这个:function dsubmitStory(){
        if($("#u_tag").val() =="" || $("#u_tag").val() =="最少要入兩個標籤,用“,”分隔"){
            alert("標籤不能為空!");
    return false;
        }else{
            var t = $("#u_tag").val().split(",");
            if(t.length<2){
                alert("請最少輸入兩個標籤!");
    return false;
            }else if(t.length>=2&&t.length<=3){
                for(var j=0;j<t.length;j++){
                    if(t[j].length>20){
                        alert("標籤長度不能超過20!");
    return false;
                    }
                }
            }else if(t.length>3){
                alert("最多只能輸入三個標籤!");
    return false;
            }
            //验证通过执行
    document.addStory.submit(); 
        }
    }可以了谢谢
      

  7.   

    大神求助啊,我代码改成下面那样了,就又出现之前的问题了,求修改
    function dsubmitStory(){
        if($("#u_tag").val() =="" || $("#u_tag").val() =="最少要入兩個標籤,用“,”分隔"){
            alert("標籤不能為空!");
            return false;
        }else{
            var t = $("#u_tag").val().split(",");
            if(t.length<2){
                alert("請最少輸入兩個標籤!");
                return false;
            }else if(t.length>=2&&t.length<=3){
                for(var j=0;j<t.length;j++){
                    if(t[j].length>20){
                        alert("標籤長度不能超過20!");
                        return false;
                    }else{
    var checkbox=new Array[];
    var ch=document.getElementsByName("ftagid");
    for(var i==0;i<ch.length;i++){
    if(ch[i].checked==true){
           ch.push(chkboxe[i]);
           }
           if(checkbox.length<0){
           alert(checkbox.length);
           alert("至少選擇一個固定父標籤!");
           return false;
           }
    }
    }
                }
            }else if(t.length>3){
                alert("最多只能輸入三個標籤!");
                return false;
    }
            //验证通过执行
            document.addStory.submit(); 
        }
    }
      

  8.   

     document.addStory.submit(); 放在function的最后一行
      

  9.   

    一样没用,连其他的验证都不生效了for(var i==0;i<ch.length;i++){
    if(ch[i].checked==true){
       ch.push(chkboxe[i]);
    }
    if(checkbox.length<0){
    alert(checkbox.length);
    alert("至少選擇一個固定父標籤!");
    return false;
    }
    }这段先注释掉,测试一下,如果通过的话,一块一块的取消注释
      

  10.   

    for(var i==0;i<ch.length;i++),哇,这行还有错“var i==0”!
      

  11.   

    else{
    var checkbox=new Array[];
    var ch=document.getElementsByName("ftagid");
    for(var i==0;i<ch.length;i++){
    if(ch[i].checked==true){
            ch.push(chkboxe[i]);
            }
            if(checkbox.length<0){
            alert(checkbox.length);
            alert("至少選擇一個固定父標籤!");
            return false;
            }
    }
    这段代码,else里面不放内容就没事,放了东西进去验证就失效了