2009-11-28 116 views
0

我正在做一些基本的表单验证。Javascript表单验证

我有以下的javascript函数

function fullField(x,span_id) 
{ 
var result=false; 
if(x.value==0) 
{ 
    document.getElementById(span_id).innerHTML =" Required"; 
    result=false; 
}else{ 
    document.getElementById(span_id).innerHTML="";//can use tick <img src='images/site_images/tick.png' /> 
    result=true; 
} 

return result; 
} 

我有检查的onblur

<input type='text' onblur='return fullField(this,'span1')name='first_name' /> 
<span id='span1'></span> 

函数工作,写“必要”到跨度中的输入,如果人的标签场外没有填写。然而,当我点击提交表格仍然提交。 我想我在这里错过了一些基本点,因为我虽然如果我的表单中的任何字段返回false然后表单不会提交。解决此问题的唯一方法是在提交时再次检查整个表单吗?

回答

1

您可以在页面上创建一个变量,如果验证字段失败,然后表单为onSubmit(return(myValidationVariable)) - 不是最优雅的设计,但应该适用于您当前的设置。

+0

这是一个好主意。返回的值是否不会阻止提交的表单? – andrew 2009-11-29 00:21:51

+0

我需要知道一个函数返回的'false'是否会阻止提交字段,或者唯一的方法是在提交时检查整个表单。 – andrew 2009-11-29 00:46:44

+0

如果您从onSubmit返回false,它将取消表单提交。那么你唯一会遇到的问题是,如果你有必要的领域,他们从来没有触及那些不包含在你的验证。你的设计不是人们通常使用的。要做的更好的事情是获得一些东西,你可以验证onSubmit中的所有字段,但是现在不适合你的代码。 – 2009-11-29 00:54:36