如何在使用javascript提交之前验证文本框?
我有两个默认值为0的文本框和一个提交按钮。在提交之前,我调用以下javascript函数如何在使用javascript提交之前验证文本框?,javascript,validation,Javascript,Validation,我有两个默认值为0的文本框和一个提交按钮。在提交之前,我调用以下javascript函数onSubmit=“return(validate_myfrm());”。我无法使用值0验证text_1。但是对于text_2,默认值0已验证 function validate_myfrm() { var ans; if(document.myfrm.txt_1.value=="" ||document.myfrm.txt_1.value==0) { a
onSubmit=“return(validate_myfrm());
”。我无法使用值0验证text_1
。但是对于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的值。请帮助文档。myfrm.txt_bb1。值==0
应该是:document.myfrm.txt_1.value==0
此外:
设置返回后,函数将结束并返回函数中设置的false或true
根据您的条件,当值为“”或0时,第一个if将始终返回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>
函数验证\u myfrm()
{
if(document.myfrm.txt_1.value!=“”&document.myfrm.txt_2.value!=“”)
{
返回true;
}否则{
document.getElementById(“结果”).innerHTML=“错误字段不能为空”;
返回false;
}
}
请记住,无论何时在函数中使用return,它都会停止函数并返回设置的值。您的第一个条件应该是这样的
if(document.myfrm.txt_1.value=="" ||document.myfrm.txt_1.value==0)
{
}
如果安装了If函数,请立即使用Else,它将在提交之前进行验证
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;
}
}
@这个-Val。。我并没有完全理解你的意思。我应该在第一个条件后留空吗?不,它只是指出你要像Marc前面提到的那样设置正确的变量名,但我没有看到它。:)