博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
js基础-表单验证和提交
阅读量:6641 次
发布时间:2019-06-25

本文共 2814 字,大约阅读时间需要 9 分钟。

基础知识:

原始提交如下:

1 
2
用户3
4
密码5
6   7
9

说明:

  • form是一个表单,用来发送http请求。直观的说,只要用form将需要提交到服务器的标签包围,当提交的时候,就会向服务器发送有name属性的数据。所以,input内容提交必须有name属性。
    • action:服务器接口路径;
    • method:选择发送请求的方式,默认是get,通常用post。get请求会在地址栏显示参数,并且有长度限制。post则没有。
    • id:标识标签元素
    • 当提交后,服务器就会得到:username=填的用户名 & password=填的密码
  • 当点击提交后,form数据就会发送。通常提交前要校验数据。比如长度规则等。所以需要js。    

js校验:

  方法1:

      在from属性后面接着添加οnsubmit="return false;"属性.表示不提交。true则相反。这里可以用一个方法替换。变成:

      然后,书写js验证规则:

1 function sb1(){ 2         var username = document.getElementById("username"); 3         var password = document.getElementById("passsword"); 4         if(trim(username.value)==null || trim(username.value)==""){ 5             alert("请输入用户名"); 6             username.focus(); 7             return false; 8         } 9         if(trim(password.value)==null || trim(password.value)==""){10             alert("请输入密码");11             password.focus();12             return false;13         }14         15         return true;16     }17     function trim(str){ //删除左右两端的空格18            return str.replace(/(^\s*)|(\s*$)/g, "");19     }

  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。对应到表单,就是οnsubmit="false",表示不提交。
  • 如果if条件都满足,则return true;提交。
  • ||表示或者,意思是,如果username==null或者username是空字符串,条件1或者条件2为true则都是true

方法2:js控制提交表单

首先,表单元素代码如下:

1 
2
用户 3
5
密码 6
8    9
提交 10

这里关于提交,页面切图通常都会用a标签或者button来提交,因为涉及到表单验证。

同样,js:

1 function sb(){ 2         var username = document.getElementById("username"); 3         var password = document.getElementById("passsword"); 4         if(trim(username.value)==null || trim(username.value)==""){ 5             alert("请输入用户名"); 6             username.focus(); 7             return; 8         } 9         if(trim(password.value)==null || trim(password.value)==""){10             alert("请输入密码");11             password.focus();12             return;13         }14         15         form1.submit();16         17     }

  js含义

  • 这个sb()方法没有返回值,return就是直接结束,如果没有return就一直执行完所有代码。也就是说,验证通过就会提交。
  • 这里说明一下提交的方法,可以用form的id或者name属性表示form这个对象,然后调用submit()方法即可。
  • 当然,推荐用document.getElementById("form1").submit();      

 本文转自Ryan.Miao博客园博客,原文链接:http://www.cnblogs.com/woshimrf/p/4904222.html,如需转载请自行联系原作者

你可能感兴趣的文章
关于C语言中%p和%X的思考
查看>>
ArcGIS 基础2-编辑数据
查看>>
Poedu_项目2_Lesson005 课后练习
查看>>
EL表达式 JSTL的标签库 EL的函数 自定义EL函数 自定义标签 JSP的开发模式 注册登陆案例...
查看>>
myeclipse 保存时自动格式化代码
查看>>
vim实用配置(转)
查看>>
实现MAXIMO7.5工作流任务箱任务颜色提示功能
查看>>
SpringMVC 集成redis
查看>>
Solaris作业管理
查看>>
回顾2016,我的简单总结
查看>>
3372 选学霸
查看>>
ssh: connect to host localhost port 22: Connection refused 问题
查看>>
Adobe Photoshop CS或者CC卸载不了怎么办?
查看>>
怎样重置网络设置-出现打不开网站的时候可以用用
查看>>
【转】30岁之前打好基础,无惧职场“35岁现象”! | 人力资源心理学
查看>>
分布式搜索引擎Elasticsearch PHP类封装 使用原生api
查看>>
asp.net AJAX 定期刷新页面,然后,在 Timer 的事件中弹出窗口
查看>>
potrace源码分析一
查看>>
using eclipse to write c programe 0
查看>>
记录一下收集到的clojure相关的东东
查看>>