js基础-表单验证和提交
基础知识:
原始提交如下:
<form action="/login" method="post" id="form1">
<span>用户</span>
<input type="text" name="username" id="username"/><br/>
<span>密码</span>
<input type="password" name="password" id="passsword"/><br/>
<input type="submit" value="提交">
</form>
说明:
- form是一个表单,用来发送http请求。直观的说,只要用form将需要提交到服务器的标签包围,当提交的时候,就会向服务器发送有name属性的数据。所以,input内容提交必须有name属性。
- action:服务器接口路径;
- method:选择发送请求的方式,默认是get,通常用post。get请求会在地址栏显示参数,并且有长度限制。post则没有。
- id:标识标签元素
- 当提交后,服务器就会得到:username=填的用户名 & password=填的密码
- 当点击提交后,form数据就会发送。通常提交前要校验数据。比如长度规则等。所以需要js。
js校验:
方法1:
在from属性后面接着添加onsubmit="return false;"属性.表示不提交。true则相反。这里可以用一个方法替换。变成:
<form action="/back/login/login" method="post" id="form1" onsubmit="return sb1();">
然后,书写js验证规则:
function sb1(){
var username = document.getElementById("username");
var password = document.getElementById("passsword");
if(trim(username.value)==null || trim(username.value)==""){
alert("请输入用户名");
username.focus();
return false;
}
if(trim(password.value)==null || trim(password.value)==""){
alert("请输入密码");
password.focus();
return false;
}
return true;
}
function trim(str){ //删除左右两端的空格
return str.replace(/(^\s*)|(\s*$)/g, "");
}
js含义:
- var username = document.getElementById("username");
- 表示获得id为username的标签对象,可以理解为输入用户名的那个输入框
- username.value表示输入框的内容
- trim是一个方法,去除字符串左右两端空格。
- 方法是一个串代码的执行体,调用方法会执行方法中的内容。方法又叫做函数,方法由方法名,括号中的参数,大括号中的方法体组成。在js中,方法参数不用声明类型,调用方法的时候,参数按照顺序匹配。比如,trim(username),username就是str,所以,方法中的参数str就是形式参数,简称形参,而username叫做实体参数,简称实参。当调用trim(username)的时候,username就替换了str。
- 判断值为null或者""空字符串用==
- alert表示弹出对话框,内容是字符串,所以需要用引号括起来。
- username.focus()表示焦点聚集在username这个对象,也就是输入框。
- return false;return表示函数执行结束,后面的代码不执行。return false表示该函数返回一个boolean值为false。对应到表单,就是onsubmit="false",表示不提交。
- 如果if条件都满足,则return true;提交。
- ||表示或者,意思是,如果username==null或者username是空字符串,条件1或者条件2为true则都是true
方法2:js控制提交表单
首先,表单元素代码如下:
1 <form action="/back/login/login" method="post" id="form1">
2 <span>用户</span>
3 <input type="text" name="username" id="username"/><br/>
5 <span>密码</span>
6 <input type="password" name="password" id="passsword"/><br/>
8
9 <a href="javascript:sb();">提交</a>
10 </form>
这里关于提交,页面切图通常都会用a标签或者button来提交,因为涉及到表单验证。
同样,js:
function sb(){
var username = document.getElementById("username");
var password = document.getElementById("passsword");
if(trim(username.value)==null || trim(username.value)==""){
alert("请输入用户名");
username.focus();
return;
}
if(trim(password.value)==null || trim(password.value)==""){
alert("请输入密码");
password.focus();
return;
}
form1.submit();
}
js含义:
- 这个sb()方法没有返回值,return就是直接结束,如果没有return就一直执行完所有代码。也就是说,验证通过就会提交。
- 这里说明一下提交的方法,可以用form的id或者name属性表示form这个对象,然后调用submit()方法即可。
- 当然,推荐用document.getElementById("form1").submit();
js基础-表单验证和提交的更多相关文章
- JavaScript | 基础表单验证(纯Js)
———————————————————————————————————————————— 基础表单验证(纯js) - - - - - - - - - - - - - - - - - - - - - - ...
- ★★★【卡法 常用js库】: js汇合 表单验证 cookie设置 日期格式 电话手机号码 email 整数 小数 金额 检查参数长度
[卡法 常用js库]: js汇合 表单验证 cookie设置 日期格式 电话手机号码 email 整数 小数 金额 检查参数长度 // +---------------------- ...
- 原生JS写表单验证提交功能
先上效果图: 表单的基础内容就是昵称判断.手机号判断.邮箱判断.身份证号码判断,这里是用到正则验证检验格式. 页面的表单写法就是一个form的提交.输入框用input来实现,输入内容用value来获取 ...
- 表单提交学习笔记(二)—使用jquery.validate.js进行表单验证
一.官网下载地址:http://plugins.jquery.com/validate/ 二.用法 1.在页面上进行引用 <script src="~/scripts/jquery-1 ...
- JavaScript:基础表单验证
在用户填写表单的过程之中,往往需要编写一堆的验证操作,这样就可以保证提交的数据时正确的.那么下面就模拟表单验证的处理操作完成. 如果要想进行验证,首先针对于输入的数据来进行一个验证处理. 1.定义一个 ...
- JS通用表单验证函数,基于javascript正则表达式
表单的验证在实际的开发当中是件很烦琐又无趣的事情今天在做一个小项目的时候,需要JS验证,寻找到一个比较好的东西 地址如下: http://blog.csdn.net/goodfunman/archiv ...
- jdbc工具类的封装,以及表单验证数据提交后台
在之前已经写过了jdbc的工具类,不过最近学习了新的方法,所以在这里重新写一遍,为后面的javaEE做铺垫: 首先我们要了解javaEE项目中,文件构成,新建一个javaEE项目,在项目中,有一个we ...
- JS简单表单验证
这里我是写了一个简单的注册表单验证功能,亲测有效,一起来看看吧! 首先我的HTML代码是这样的: class大家可以忽略一下,这里我项目使用的是bootstrap的样式. 输入用户名和密码用的是正则表 ...
- js——form表单验证
用js实现一个简易的表单验证 效果: 代码: <html> <head> <title>js校验form表单</title> <meta char ...
随机推荐
- SQL Saturday活动再起
SQL Saturday活动再起 时间:2015年05月09日(星期六) 地点:上海徐汇区港汇2座10楼(10.073) 我们相约港汇2座10楼(10.073),SQL PASS上海分会的SQLSat ...
- TclError: no display name and no $DISPLAY environment variable
%matplotlib inline 或 %matplotlib notebook
- SqlServer2012 数据库的同步之发布+订阅
文章参考了百度过的文章,因为版本不同,操作中也遇到了很多问题,现在整理一下,希望对各位朋友有所帮助. 发布订阅份为两个步骤:1.发布.2订阅.首先在数据源数据库服务器上对需要同步的数据进行发布,然后在 ...
- MQTT协议简记
MQTT - MQ Telemetry Transport 轻量级的 machine-to-machine 通信协议. publish/subscribe模式. 基于TCP/IP. 支持QoS. ...
- 可在广域网部署运行的QQ高仿版 -- GG叽叽V3.0,完善基础功能(源码)
(前段时间封闭式开发完了一个项目,最近才有时间继续更新GG的后续版本,对那些关注GG的朋友来说,真的是很抱歉.)GG的前面几个版本开发了一些比较高级的功能,像视频聊天.远程桌面.文件传送.远程磁盘等, ...
- Demystifying ASP.NET MVC 5 Error Pages and Error Logging
出处:http://dusted.codes/demystifying-aspnet-mvc-5-error-pages-and-error-logging Error pages and error ...
- 《你必须知道的.NET》读书笔记二:小OO有大原则
此篇已收录至<你必须知道的.Net>读书笔记目录贴,点击访问该目录可以获取更多内容. 一.单一职责原则 (1)核心思想:一个类最好只做一件事,只有一个引起它变化的原因 (2)常用模式:Fa ...
- 示例篇-购物车的简单示例和自定义JS
简介: 支持平台: Android4.0,iOS7.0,Windows 10, Windows 10 mobile 说明:主要是演示listview所在的ui和模板cell所在的ui之间数据的交互,点 ...
- C#Lite Unity热更新开源解决方案改名C#Light
因为此脚本语言与C#Lite Framework 开源项目重名,故修改名称,发音不变.
- 《轻量级Java Web整合开发入门SSH》 - 快速理解Java框架的又一积木
学习JAVA不难,难的是没有多余的时间给你仔细学习. 伴随着项目的不断跟进,责任重于泰山,必须快速提升. 我不能期望把一本书或者一个项目完全吃透,只希望能用数量去 ...