2013-04-22 49 views
0

我有默认值0 2个文本框和一个提交button.Before提交我打电话javascript函数onSubmit="return(validate_myfrm());以下”。我是无法与价值0.But验证text_1text_2默认值0被验证。如何在使用javascript提交前验证文本框?

function validate_myfrm() 
{ 

    var ans; 
    if(document.myfrm.txt_1.value=="" ||document.myfrm.txt_1.value==0) 
     { 
       ans=confirm("Do you still want to continue with value 0 for text 1?"); 
       if(ans== true) 
        { 
        document.myfrm.txt_1.value=0; 
        document.myfrm.txt_2.focus(); 
        } 
       else 
        { 
        document.myfrm.txt_1.focus(); 
        } 
       return false; 
    } 

    if(document.myfrm.txt_2.value=="" ||document.myfrm.txt_2.value==0) 
      { 
       ans=confirm("Do you still want to continue with value 0 for text 2?"); 
       if(ans== true) 
        { 
        document.myfrm.txt_2.value="0"; 
        return true; 
        } 
       else 
        { 
         document.myfrm.txt_2.focus(); 
        } 
        return false; 
      } 
    return true; 

}

如果我返回true; document.myfrm.txt_2.focus();后的页面将被重定向到下个页面确认值txt_2.Pls帮助

回答

0

document.myfrm.txt_bb1.value == 0

应该是:document.myfrm.txt_1.value == 0

也:

一旦设置一回,该功能将结束,在你的函数返回的虚假或真实出发了。

第一个如果值为“”或0时根据您的条件将始终返回false。由于它返回false,函数将结束并返回false。

编辑:

这里简单的验证例如:

<form id="myfrm" name="myfrm" onSubmit="return(validate_myfrm());"> 
    <input type="text" name="txt_1" value="" /> 
    <input type="text" name="txt_2" value="" /> 
    <input type="submit" value="submit" /> 
</form> 
<span id="result"></span> 

<script> 

function validate_myfrm() 
{ 
    if(document.myfrm.txt_1.value!="" && document.myfrm.txt_2.value!="") 
    { 
     return true;  
    } else { 
     document.getElementById("result").innerHTML="Error fields cannot be empty"; 
     return false; 
    } 
} 
</script> 

记住这一点,每当你在一个函数中使用的回报,它会停止功能和返回值集。

+0

好.. @ Marc我编辑过。 – Atit 2013-04-22 09:31:22

0

你的第一个条件应该是这样的

if(document.myfrm.txt_1.value=="" ||document.myfrm.txt_1.value==0) 
{ 

} 
+0

@ The-Val ..我不明白你的意思。我应该在第一个条件之后留下空白吗? – Atit 2013-04-22 09:38:37

+0

不,它只是指出你要设置适当的变量名称,正如前面提到的Marc,但我没有看到它。 :) – 2013-04-22 09:45:07

0

使用否则如果Instaed如果功能现在将提交之前验证。

function validate_myfrm() 
{ 

    var ans; 
    if(document.myfrm.txt_1.value=="" ||document.myfrm.txt_1.value==0) 
     { 
       ans=confirm("Do you still want to continue with value 0 for text 1?"); 
       if(ans== true) 
        { 
        document.myfrm.txt_1.value=0; 
        document.myfrm.txt_2.focus(); 
        } 
       else 
        { 
        document.myfrm.txt_1.focus(); 
        return false; 
        } 
    }else if(document.myfrm.txt_2.value=="" ||document.myfrm.txt_2.value==0) 
      { 
       ans=confirm("Do you still want to continue with value 0 for text 2?"); 
       if(ans== true) 
        { 
        document.myfrm.txt_2.value="0"; 
        return true; 
        } 
       else 
        { 
         document.myfrm.txt_2.focus(); 
        } 
        return false; 
      } 
    return true; 
    } 
}