【问题标题】:Javascript form validationJavascript 表单验证
【发布时间】:2009-11-28 23:57:08
【问题描述】:

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

我有以下 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;
}

我有一个在模糊上检查的输入

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

该功能有效,如果该人在未填写的情况下关闭该字段,则将“必填”写入跨度。但是,当我单击提交时,表单仍然提交。 我认为我在这里遗漏了一些基本点,因为我认为如果我的表单中的任何字段返回 false 那么表单将不会提交。解决这个问题的唯一方法是在提交时再次检查整个表单吗?

【问题讨论】:

    标签: javascript javascript-events


    【解决方案1】:

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

    【讨论】:

    • 这是个好主意。返回值不会停止提交表单吗?
    • 我需要知道我的函数返回的“false”是否会阻止提交字段,或者实现此目的的唯一方法是在提交时检查整个表单。
    • 如果你从 onSubmit 返回 false 它将取消表单提交。唯一的问题是,如果您有他们从未接触过的必填字段,这些字段并未真正包含在您的验证中。您的设计与人们通常使用的不太一样。更好的做法是让您可以验证 onSubmit 中的所有字段,但现在不适合您的代码。
    猜你喜欢
    • 2015-12-04
    • 2014-11-20
    • 2012-04-15
    • 1970-01-01
    • 1970-01-01
    • 2014-07-04
    • 2011-01-20
    相关资源
    最近更新 更多