如何在使用javascript提交之前验证文本框?

时间:2013-04-22 09:25:49

标签: javascript validation

我有两个默认值为0的文本框和一个提交按钮。在提交之前,我调用了以下javascript函数onSubmit="return(validate_myfrm());“。我无法验证text_1的值为0.But for text_2验证默认值0。

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;

}

如果我回归真实;在document.myfrm.txt_2.focus();之后,页面被重定向到下一页而未确认txt_2.Pls帮助的值

3 个答案:

答案 0 :(得分:0)

document.myfrm.txt_bb1.value == 0

应为:document.myfrm.txt_1.value == 0

也:

设置返回后,函数将结束并返回函数中设置的false或true。

第一个如果值为“”或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>

请记住,无论何时在函数中使用return,它都会停止函数并返回值集。

答案 1 :(得分:0)

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

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

 }

答案 2 :(得分:0)

使用Else If而不是if now现在它将在提交之前进行验证。

 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;
    }
}