原网址:https://blog.csdn.net/vipwxs/article/details/79119701

一、form对象的属性:

name:获取表单的名称,该name一般给JS使用

method:表单的提交方式   (get:不安全,数据量较小,不能上传附件)(post:相对安全 海量数据 能上传附件)

action:表单数据的处理程序 一般是PHP文件

enctype:表单数据的编码方式(加密)

application/x-www-form-urlencoded  默认                 multipart/form-data 可以上传附件

二,表单中通过name找对象:

通过name找对象,必须是document开头。一般在表单中使用name,其他标签用id  <div>用id

通过name找对象,必须符合三层结构      格式:document.formObj.elementObj

三,事件返回值:

事件的返回值,会影响事件的默认动作

如果事件的返回值为false,则阻止默认动作执行

如果事件的返回值为true或空,则默认动作执行

如果事件没有任何返回值,则默认动作执行

受影响的事件有两个:onclick、onsubmit

其它事件的返回值,不会影响默认动作

例如:<form name="form1" method="post" action="login.php" onsubmit="return checkForm()" > </form>  <!--这里必须要有"return ",checkForm()函数要有返回值true,false-->

四,表单提交的四种方法:

<form name="form1" method="post" action="login.php" onsubmit="return checkForm()" > </form> checkForm()需要return

<input type="submit" value="提交表单" onclick="return checkForm()" />  checkForm()需要return

<input type="button" value="提交表单" onclick="return checkForm()" />  js中:checkForm(){document.form1.submit();} 不需要return

实例代码:表单简单验证:

<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>表单简单验证</title>
</head>
<body>
<form action="login.php" name="form1" method="post" onsubmit="return checkForm()">
<table width="600" border="1" bordercolor="#ccc" rules="all" align="center" cellpadding="5">
<tr>
<th colspan="3" bgcolor="#0f0f0f">用户登录</th>
</tr>
<tr>
<td width="80" align="right">用户名:</td>
<td><input type="text" name="userName" onfocus="onfocus_userName()" onblur="onblur_userName"/></td>
<td width="350"><div id="result_username"></div></td>
</tr>
<tr>
<td width="80" align="right">用户密码:</td>
<td><input type="text" name="userPwd" onfocus="onfocus_userPwd()" onblur="onblur_userPwd"/></td>
<td width="350"><div id="result_userPwd"></div></td>
</tr> <tr>
<td></td>
<td colspan="2"><input type="submit" value="提交表单"/></td>
</tr>
</table>
</form>
<script type="text/javascript">
/*用户名*/
//获取焦点:当光标接入某个文本框时触发
function onfocus_userName(){
/*获取id=result_username的元素对象*/
var divObj=document.getElementById("result_username");
/*写入提示信息*/
divObj.innerHTML="请输入您的用户名:";
divObj.style.color="#ccc";
}
//失去焦点:当光标离开某个文本框时触发
function onblur_userName(){
/*获取name=userNameid=result_username的元素对象*/
var inputObj=document.form1.userName;
var divObj=document.getElementById("result_username");
/*用户名验证*/
if(document.form1.userName.value=""){
divObj.innerHTML="对不起,用户名不能为空";
divObj.style.color="red";
return false;
}else if(document.form1.userName.value.length<5||document.form1.userName.value.length>20){
divObj.innerHTML="用户名长度必须介于5-20个字符之间";
divObj.style.color="red";
return false;
}else{
divObj.innerHTML="ok";
return true;
}
} /*用户密码*/
//获取焦点:当光标接入某个文本框时触发
function onfocus_userPwd(){
/*获取id=result_userPwd的元素对象*/
var divObj=document.getElementById("result_userPwd");
/*写入提示信息*/
divObj.innerHTML="请输入您的密码:";
divObj.style.color="#ccc";
}
//失去焦点:当光标离开某个文本框时触发
function onblur_userPwd(){
/*获取name=userPwdid=result_userPwd的元素对象*/
var inputObj=document.form1.userPwd;
var divObj=document.getElementById("result_userPwd");
/*用户密码验证*/
if(document.form1.userPwd.value=""){
divObj.innerHTML="对不起,密码不能为空";
divObj.style.color="red";
return false;
}else if(document.form1.userPwd.value.length<5||document.form1.userPwd.value.length>20){
divObj.innerHTML="密码长度必须介于5-20个字符之间!";
divObj.style.color="red";
return false;
}else{
divObj.innerHTML="ok";
return true;
}
}
function checkForm(){
var flag_userName=onblur_userName();
var flag_userPwd=onblur_userPwd();
if(flag_userName&&flag_userPwd){
/*提交表单*/
return true;
}else{
//阻止表单提交
return false;
}
}
</script>
</body>
</html>

JavaScript form表单提交与验证的更多相关文章

  1. javascprit form表单提交前验证以及ajax返回json

    1.今天要做一个手机验证码验证的功能.需求是前端页面点击发送 短信验证码,后台接收后通过ajax返回到前端,之后前端在提交时候进行验证.思路很简单,不过做的过程还是学到不少的东西. 1.ajax请求后 ...

  2. Html form 表单提交前验证

    可以使用form表单的onsubmit方法,在提交表单之前,对表单或者网页中的数据进行检验. onsubmit指定的方法返回true,则提交数据:返回false不提交数据. 直接看下面的代码: 1 & ...

  3. Django之form表单提交并验证

    1.提交的时候会报错 2. 需要在setting里面注释掉一句话,关闭跨站请求检查. 3. 注释掉以后,理论上就不报错了.可我还是卡壳了. 4. 通过在网上找方法,修复错误. 原因:表单action字 ...

  4. Form表单提交,js验证

    Form表单提交,js验证 1,  Onclick() 2, Onsubmit() Button标签 input (属性 submit  button )标签 Input type=button    ...

  5. jQuery Form 表单提交插件----Form 简介,官方文档,官方下载地址

     一.jQuery Form简介 jQuery Form插件是一个优秀的Ajax表单插件,可以非常容易地.无侵入地升级HTML表单以支持Ajax.jQuery Form有两个核心方法 -- ajaxF ...

  6. ajax form表单提交 input file中的文件

    ajax form表单提交 input file中的文件 现今的主流浏览器由于ajax提交form表单无法把文件类型数据提交到后台,供后台处理,可是开发中由于某些原因又不得不用ajax提交文件, 为了 ...

  7. jQuery判断 form表单提交时一些文本框的判断

    一: form表单提交时如果表单里有input标签为空那么不提交form表单. <head> <script type="text/javascript"> ...

  8. thinkPHP5.0使用form表单提交数据和删除文章,不用TP的提示页面,使用弹出提示信息

    form表单提交数据和删除文章时,TP的默认信息提示页面的看起来不是很好看,想要实现弹窗提示怎么做呢? 前端:可以使用前端的一个知识--iframe,iframe元素会创建包含另外一个文档的内联框架: ...

  9. jQuery补充之jQuery扩展/form表单提交/滚动菜单

    jQuery扩展 为了避免重复造轮子,能高效使用别人的代码,所以有了扩展. jQuery扩展有两种方式: 自执行函数方式 定义函数,并执行函数. 自执行函数: (function(jq){ jq.ex ...

随机推荐

  1. 爬虫过程中获取不到列表页的url

    例1: 采集某网站的时候根据网页页面显示的url链接提取的, 最后始终没有数据返回. 主要原因是页面源码中标签的 href 属性值和页面上的不一样. 页面上显示是‘http://www.xxx.org ...

  2. 吐血干货,直播首屏耗时400ms以下的优化实践

    导读: 直播行业的竞争越来越激烈,进过18年这波洗牌后,已经度过了蛮荒暴力期,剩下的都是在不断追求体验.最近在帮做直播优化首开,通过多种方案并行,把首开降到500ms以下,希望能对大家有借鉴. 背景: ...

  3. (转)ARM协处理器主要用途 及其 指令CDP LDC STC MCR MRC介绍

    原文地址:http://zqwt.012.blog.163.com/blog/static/120446842010111610612200/ ARM 微处理器可支持多达 16 个协处理器,用于各种协 ...

  4. (转)USB的VID和PID,以及分类(Class,SubClass,Protocol)

    USB的VID和PID,以及分类(Class,SubClass,Protocol) 原文地址:http://blog.csdn.net/gaojinshan/article/details/78783 ...

  5. 按 ctrl 时会触发 shift ,导致不能正常使用 ctrl + c 复制

    问题描述 不能使用 ctrl 功能键组合,原因是按 ctrl 时 shift 也会被触发. win 10 电脑为例,可以打开虚拟键盘查看按键情况. 当我按下 ctr时 可见 shift 也被触发了. ...

  6. ASP.NET MVC5实现芒果分销后台管理系统(二):Code First快速集成EntityFramework

    在上一篇文章中,我们已经搭建了整个芒果后台管理系统整个工程架构,并集成了AutoMapper,日志组件等,接下来我们将使用Entity Framework完善系统的持久化存储部分.这篇EF的构造,我将 ...

  7. CodeMixerPro工具,完美替代ChaosTool,iOS添加垃圾代码工具,代码混淆工具,代码生成器,史上最好用的垃圾代码添加工具,自己开发的小工具

    新工具 ProjectTool 已上线 这是一款快速写白包工具,秒级别写H5游戏壳包,可视化操作,极易使用,支持Swift.Objecive-C双语言 扣扣交流群:811715780 进入 Proje ...

  8. Postman-OAuth 2.0授权

    一.Postman提供的授权类型有10种.授权过程将验证是否有权从服务器访问所需的数据.发送请求时,通常必须包含参数以确保请求有权访问并返回所需的数据. 二.使用第7种OAuth 2.0授权:OAut ...

  9. 【codeforces】Codeforces Round #606 E. Two Fairs——图论

    题目链接 题意 给你一张无向图,求出有多少对点对(x, y)满足从点x到点y的所有路径必同时经过点a和点b 分析 单点 首先考虑假如点a和点b是同一个点的情况 我从任意的一点出发,把所有与点a/b相连 ...

  10. EFCore DbContext 报SqlException: Incorrect syntax near 'OFFSET'.

    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { optionsBuilder.UseSq ...