我有两个默认值为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帮助的值
答案 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;
}
}