javascript中怎么设置from提交前的数据验证

如题所述

form表单的数据先由js判断处理,通过后再提交数据到后台。

1、js获取表单数据,根据实际情况判断是否符合规则。一般的判断是否为空,是否含有不安全字符,有就过滤掉(这一步也可以在后台处理)。

2、对于未通过的输入,向用户返回信息提示。

3、验证通过,提交数据到后台。

4、根据实际需求做处理.....

下面是一个简单的例子:

<form id="loginForm" action="" method="post">
    用户名: <input id="username" name="username" type="text" maxlength="16" />
    <br />
    <input id="go" type="button" value="提交" />
</form>
<script>
    var loginForm = document.getElementById('loginForm');
    var go = document.getElementById('go');
    go.onclick = function(){
        var username = loginForm.username.value
        //这里判断了用户名的输入不能为空,且长度为6-16位
        if(username && (typeof(username)!='undefined') && (username!=0) && (username.length>=6) && (username.length<=16)){
            //验证通过,提交表单数据
            loginForm.submit();
        }else{
            alert('输入不符合规则');
        }
    }
</script>

通常要先在前端对数据做处理得情况下,并不是用<input type="submit" />按钮,而是用<input type="button" />按钮,因为要先对数据进行处理再提交到后台;对于数据的判断验证,大多是使用正则表达式来判断的,虽然比较麻烦,不过如今浏览器对html5的兼容则省掉不少麻烦,新增的 input 类型可以满足一般的需求。

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-09-01
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>春芽子服饰 进销存管理系统</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<STYLE type=text/css>
BODY {
MARGIN: 0px
}
TD {
FONT-SIZE: 9pt; LINE-HEIGHT: 150%
}
.big {
FONT-SIZE: 10.5pt; LINE-HEIGHT: 150%
}
.input {
BORDER-RIGHT: #666666 1px solid; BORDER-TOP: #666666 1px solid; BORDER-LEFT: #666666 1px solid; BORDER-BOTTOM: #666666 1px solid
}
FORM {
MARGIN: 0px
}
.STYLE1 {color: #999999}
</STYLE>

<SCRIPT>

function validateform()
{
getresult=true;
if (!check_empty(document.form.username.value))
{
getresult=false
alert("请输入用户名!")
document.form.username.focus()
}
else if (!check_empty(document.form.password.value))
{
getresult=false
alert("请输入登录口令!")
document.form.password.focus()
}
document.form.password.value=MD5(document.form.password.value);
return getresult;
}

function check_empty(intext)
{
return (intext.length > 0);
}
function check_email()
{
var mailstr=document.form.email.value;
if (mailstr=="") return false;
if (mailstr.indexOf("@")==-1) return false;
if (mailstr.indexOf(".")==-1) return false;
return true;
}
</SCRIPT>

<META content="MSHTML 6.00.2900.3157" name=GENERATOR></HEAD>
<BODY bgColor=#ffffff>
<TABLE cellSpacing=0 cellPadding=0 width=532 align=center border=0>
<TBODY>
<TR align=middle>
<TD height=80></TD></TR>
<TR align=middle>
<TD><IMG src="images/logo.jpg" ></TD></TR>
<TR align=middle>
<TD>
<FORM name=form onSubmit="return validateform()" action=logincheck.asp
method=post>
<TABLE cellSpacing=0 cellPadding=0 width="70%" border=0>
<TBODY>
<TR>
<TD class=big align=middle></TD>
<TD></TD></TR>
<TR>
<TD height=25 colspan="2" align=middle class=big>用 户 名:
<INPUT class=input size=36
name=username> </TD>
</TR>
<TR>
<TD height=25 colspan="2" align=middle class=big>登录口令:
<INPUT class=input type=password
size=40 name=password onclick="this.value=''"> </TD>
</TR>
<TR>
<TD class=big align=middle height=25></TD>
<TD align=right></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=0 cellPadding=0 width="70%" align=center border=0>
<TBODY>
<TR align=right>
<TD><INPUT type=image
src="images/login.gif" border=0 name=imageField alt="登陆"> </TD></TR>
<TR align=right>
<TD></TD></TR>
<TR align=right>
<TD></TD></TR></TBODY></TABLE></FORM></TD></TR>
<TR align=middle>
<TD align="middle"><span class="STYLE1">copy right by chunyazi 2007,designer:qqlxinye</span> </TD>
</TR>
</TBODY></TABLE>
</BODY></HTML>本回答被提问者采纳
第2个回答  2015-09-13
<form id="form">
<input type="text" id="i1">
<input type="text" id="i2">
<input type="submit" id="s1">
</form>
<script>
document.getElementById("s1").addEventListener("onclick", function(){
if (document.getElementById("i1").value=="") { alert("i1不能为空"); reutrn false; }
if (document.getElementById("i2").value=="") { alert("i2不能为空"); return false; }
});
</script>
第3个回答  2008-08-16
在表单的的submit事件里设置验证函数,验证成功返回 true否则返回false,或者提交按钮不使用submit使用button 设置此buttion的click 事件里设置验证函数,成功则document.forms[0].submit() ---(请根据实际情况修改代码)

怎么在提交表单前验证表单数据!
验证一般都连接数据库的.这里只是作个示范.用户名:admin 密码:123 --- login.html文件: 登陆 function check(){ if (document.form1.username.value==""){ document.getElementById("usernameTip").innerHTML="请输入用户名";document.form1.username.focus();return false;} else document.g...

提交表单前验证
验证一般都连接数据库的.这里只是作个示范.用户名:admin 密码:123 --- login.html文件: 登陆 function check(){ if (document.form1.username.value==""){ document.getElementById("usernameTip").innerHTML="请输入用户名";document.form1.username.focus();return false;} else document.g...

Form表单详解
提交时机表单提交是指用户填写数据后,通过点击提交按钮或JavaScript操作,将数据封装到请求体或URL发送给服务器。表单会在以下两种情况下自动提交:用户点击提交按钮或遇到特定触发条件。提交按钮虽然“提交”字样按钮看起来像是提交,但真正的提交按钮是type属性为"submit"的按钮,或是type="image"的input标签...

JAVA中前台校验和后台校验哪个安全,如果后台校验安全为什么不取消前台校 ...
前台的验证一般是通过Javascript,js代码是可以被禁用和篡改的,所以相对后台检验而言,安全性会低一些。前台校验不需要服务器返回数据的选项,例如密码为空啊,邮箱不合法啊,但是也需要后台校验,例如用户名重复校验,必须提交后台查询数据库,返回是否重复。原则就是能前台JS校验的就前台校验,一来快捷,二...

jsp里使用了ckeditor . 如何使用javascript 进行数据验证。我遇到了重置...
function Mycheck(form){ if(document.form1.title.value==""&&CKEDITOR.instances.Area1.getData()==""){ alert("标题和内容不能为空!");return false;} if(document.form1.title.value==""){ alert("标题不能为空!");return false;} if(CKEDITOR.instances.Area1.getData()=="...

表单提交前先验证
你可以使用ajax的技术来进行实时的监控 就像很多论坛的注册那样,在页面初始化的时候先搜索整个标点,为每一个 输入框增加一个事件onvaluechange指向某一具体的 javascript方法,来实现这种实时的监控

我用javascript对表单的数据检验,但是用图片按钮提交数据却没有验证,如...
() { validator.submitButton = this;});} \/\/ validate the form on submit this.submit( function( event ) { 这个是我从源代码中淘出来的,在form中的验证仅仅绑定在input, button这样的标签上。img不会验证的。非要搞的话,建议将img改成button。然后将背景设置为所需要的图片就可以了。

求前端验证js代码
使用方法:在要检测的文本域中加入title文字。文字是在提示信息,你要提示给用户的该字段的中文名。比如要检测用户名html如下,当然,最好用可视化工具比如dreamweaver什么的来编辑域。如果要检测数字类型数据的话,再把域的id统一为sz.javascript判断日期类型比较麻烦,所以就没有做日期类型校验的程序了.高手可以补充。程序...

javascript中VerifyInput()函数什么作用
return VerifyInput()在表单提交之前做验证,VerifyInput() 返回为true表示验证通过了,表单可以提交给服务端,如果返回为false则阻止表单提交。

怎么设置提交提交到另一个网页认证?
提交表单 姓名 性别 男 女 学历 小学 中学 大专 本科 本科以上

相似回答