笔记3——Javascript

  • 简介
  • JavaScript是一种小型的、轻量级的、面向对象的跨平台的客户端脚本语言。
  • JavaScript是嵌入到浏览器软件当中去的,是一种面向对像的程序语言。
  • 在程序中,对象是由“属性”和“方法”构成的。
  • 可以实现表单验证,是js最基本的功能。
  • 可以实现动态HTML,可以实现一些动态的重复的效果。
  • 交互式,可是实现人机交互。
  • <script></script>标记
    同一个网页中可以有HTML代码,CSS代码,JavaScript代码。JavaScript代码由<script></script>标记嵌入。
  • 变量:存储信息的容器。
  • 变量是存储信息的容器,在内存中运行。
  • 变量声明:var 变量名 = 变量值;eg:var name;//声明变量。var name,age,sex;//同时声明多个变量。var name = “张三”;//声明同时赋值。
  • 变量名的命名规则:变量名可由数字、下划线、字母构成,不能以数字开头;区分大小写;不能以系统关键字命名变量名;驼峰式:getUserName;下划线式:get_user_name;
  • 变量类型
  • 变量的类型取决于所赋的值的类型;
  • JS中变量的类型有:数值型、字符型、布尔型、null、undefined(未定义型)、array(数组型)、object(对象型)、function(函数型)。
  • 数值型:可以进行算数运算的变量,数值型包括整型和浮点型;
  • 字符型:由单引号或者双引号引起来的一个字符串;在字符型变量中“+”是连接两个字符串的符号,并不是加号。 eg:var a =“abcd”;var b = “efg”;=> a+b=“abcdefg”
  • 布尔型:又称为逻辑型,只有两个值:true、false;常用有if条件语句中。
  • 未定义型:变量未赋值或者对象的属性不存在,返回undefined。
  • 空型:当一个对象不存在时,返回null。
  • 变量的转型
  • 其他类型转为布尔型(用函数Boolean()):字符串、数字为true;“ ”、0、null、undefined、NaN为false。
  • 其他类型转为数值型(用函数Number()):null->0;undefined->NaN; 100px->NaN;
  • 判断变量的数据类型typeof()
  • 语法:typeof(变量名)
  • 输出结果是类型字符串,string、number、boolean、undefined、object、function;另外测试object的返回值有null、对象、数组三种情况。
  • 从字符串中提取整数或浮点数
  • parseInt() 从字符串中提取整型,从左至右提取整型,如遇到非整型,则立即停止提取。若第一位是字母则输出 NaN。
  • parseFloat()从字符串中提取浮点数,从左至右提取浮点型,如遇到非浮点型,则立即停止提取。若第一位是字母则输出 NaN。
  • JS运算符
  • 算数运算符:+、—、*、/、%(取余)、++(加一运算符,自身加一。)、- -(减一运算符,自身减一。)
    var a=10;b = a++;//将a的赋值给b,然后a+1;c = ++a;//将a+1赋值给c。
  • 赋值运算符:+=、-=、*=、/=(先除再等)。a += 10 => a=a+10;
  • 字符串运算符:+、+=。字符串只能做链接运算。
  • 比较运算符:>(大于)、<(小于)、<=(小于等于)、>=(大于等于)、==(等于,只比较两个变量的值,值一样返回true)、!=(不等于)、= = =(全等,比较两个变量的值和类型,都一样返回true)、!= =(不全等)。比较运算结果为布尔值。
  • 逻辑运算:&&(与,左右两边操作都为true则返回true)、||(或,左右两边操作有一个为true则返回true)、!(取反操作,!100 = false)
  • 三元运算符: 条件表达式?结果1:结果2;当条件表达式结果为true则输出结果1,为false则输出结果2. var a = 10;var b = 20;var max = a>b ? a:b;
  • 特殊运算符
  • new:创建一个对象。eg:var date = new Date();//创建一个新的当前系统日期时间对象。
  • delete:删除数组元素或对象属性。
  • typeof:一元运算符,判断变量类型。eg:typeof name;<=>typeof(name);
  • . :通过点运算符去调用方法或者属性;eg:window.alert(“ok”);
  • []:主要用来访问数组元素。
  • document.write(str)
  • 在网页的<body>标记中输出str;document是一个文档对象,代表整个网页;write()是document的一个输出方法;“.”来调用对象的方法。
  • window.alert(str)
  • 在当前窗口弹出一个警告对话框,str为输出内容;window是一个窗口对象;alert()为一个弹出一个对话框的方法。
  • window.prompt()
  • 弹出一个对话框,让用户输入。
  • 语法:var a=window.prompt(text1,text2); //其中text1为提示信息,text2为默认输入。单机确认返回一个字符串,单机取消返回null。
  • if条件语句;
  • switch条件语句;
  • for循环语句;
  • break:用于结束各种循环和switch。
  • continue语句:结束本次循环,而开始下一个循环。
  • 数组
  • 一组数组的集合成为数组。
  • 一组数组的中元素的总个数被成为数组长度。
  • 使用new和Array()来创建新的数组。
    var array = new Array();//创建一个空数组。
    array[0]=“我”//数组array中第一个。
    array[1]=“ni"//数组array第二个。
    var array = new Array[1,2,3,4,5,];//创建一个数组,并初始化数组的元素。
  • 读取数组:var a = array[0];
  • 修改数组:array[0]=9;
  • 增加数组:array[9]=89;
  • 删除数组:delete array[9]; 只删除次元素的值,不删除其所在空间。
  • 获取数组长度:var len = array.length;
  • 函数
    函数是将一段公共代码进行封装;函数可以一次定义,多次使用。function 函数名(参数1,参数2,……){}//参数可以选择使用也可省略。
    return:用于向函数调用者返回一个值,并立即结束函数。
  • 全局变量和局部变量
  • 全局变量:可以在网页任何地方(函数内和函数外)使用的变量。在网页关闭时,删除变量(释放空间)。
  • 局部变量:只能在函数内使用的变量,在函数内部定义,在函数内部使用。在函数结束购删除变量(释放空间)。
  • 拷贝传值和引用传值
    1、拷贝传值就是将一个变量的值复制一份传给另一个变量。拷贝传值的两个变量互相独立。复合数据类型的存储分两步,先将变量名和数据地址存在快速内存栈内存中,具体数据存储在慢速内存堆内存中。
    2、引用传值就是将变量的数据地址复制一份传给另一个变量,两个变量指向同一个地址内存
  • 对象:对象是由属性和方法构成。
  • JS内置对象
    1、string对象:字符串对象,提供了对字符串进行操作的属性和方法。
    length:获取字符串的长度。
    toLowerCase():将字符串内的字母转换成小写。
    toUpperCase():将字符串内的字母转换成大写。
    charAt(index):返回指定下标位置的字符,如果没有找到 返回空。index是指定的索引号,根据index索引号来返回一个值。
var str =“玲珑骰子安红豆”;
    for(var i =0;i<str.length;i++)
    {
    document.write(str.charAt(i)+”
    ”);
    }`

2、indexOf()
返回一个子字符在原始字符串中的索引值(查找顺序从左往右)。如果没找到 返回-1.

var email = window.prompt(“请输入邮箱地址”);
if(email.indexOf(“@“)==-1){
Document.write(“邮箱输入不合法”);
}
else{
Document.write(“邮箱输入合法”);
}

3、lastIndexOf()
在原始字符串中从右到左查找某个字符,如果没找到,返回-1.
4、substr()
在原始字符串中返回一个子字符。语法:字符串对象.substr(起始索引号[,字符个数])

var arr = [ “gif”,”png”,”jpg”];//图片文件扩展名。
var filename = “hangdog.png”;//假设上传文件名。
var index = filename.lastIndexOf(“.”);//从后向前查找拓展名标志“.”的index。
var ext = filename.substr(index+1);//取出拓展名。
var flag = false;//标志,防止多次循环输出。
for(var i=0;i<=arr.length;i++)//循环,匹配拓展名。
{
if (ext ==arr[i])
{ flag = ture;
break;}
}
if (flag){    
//利用标志输出。
document.write(“合法!”);
}
else{
document.write(“不合法!”);
}

5、substring()
从原始字符串中返回一个字符串。
语法:字符串对象.substring(开始字符索引[,结束字符索引])var a =“asdfghjkl”;a.substring(0,3) = “asd"
//输出字符串包含开始索引所指字符,不包括结束索引所指字符。
6、split()
将字符串切分成若干段。返回一个数组。
语法:字符串对象.split(分割号);

var str = “周日,周一,周二,周三,周四,周五,周六”;
var today = new Date();
var week = today.getDate();
var arr = str.split(,);//取一个字符串没有分割号  可使用空字符串,将字符串单个转换成数组。
document.write(“今天是:”+arr[week]);

7、array对象:数组对象,提供了对数组进行操作的属性和方法。
length:属性,动态获取数组长度。
join():将一个数组转成一个字符串。
语法:array.join(链接符);
8、reverse():将数组中的各元素颠倒位置。

  • 数组元素的添加与删除:
  • delete运算符,只能删除数组元素的值,不能删除其位置空间。
  • 对数组进行添加元素,只能在数组后添加,不可向前添加。
  • shift():删除数组中的第一个元素,并返回所删除元素的值,长度减一。
  • pop():删除数组中的最后一个元素,并返回所删除元素的值,长度减一。
  • unshift():在数组前添加一个或多个元素。
  • push():在数组后添加一个或者多个元素。
  • date对象:日期时间对象,提供了对系统时间进行操作的属性和方法。
  • 创建时间对象:(1)var date = new Date();//无参数,动态获取系统时间。(2)var time = new Date(1000);//创建一个时间戳(时间戳指距离1970年一月一日零点零分零秒过去了多少毫秒);创建一个距离1970年一月一日零时零分零秒过去1000毫秒的日期。(3)var time = new Date(“2015/12/25 00:00:00”);//创建一个指定日期,参数是指定日期的字符串。
  • getFullYear():获取四位的年份;
  • getMonth():获取月份,取值0-11;
  • getDate():获取日子,取值1-31;
  • getHours():获取小时;
  • getMinutes():获取分钟数;
  • getSeconds():获取秒数;
  • getMillisecond():毫秒数;
  • getDay():获取星期数;
  • getTime():获取距离1970年一月一日零时零分零秒至今的毫秒数。
  • Math对象:数学,提供了对数学运算方面的属性和方法。
  • Math对象是一个静态对象,使用时不需要创建实例。
  • Math.PI:属性,圆周率。
  • Math.abs():绝对值。
  • Math.ceil():向上取整,整数加一,小数去掉。
  • Math.floor():向下取整,取整数。
  • Math.round():四舍五入。
  • Math.pow(x,y):求x的y次方。
  • Math.sqrt():求算数平方根。
  • Math.random():放回一个从0到1的随机小数。
    var random = Math.random()*(max-min)+min;//随机整数
  • number对象:数值对象,提供了对数值变量进行操作的属性和方法。
  • BOM和DOM
  • BOM browser object model 浏览器对象模型,主要提供了访问和操作浏览器各组件的方法。
  • 浏览器组件:window(浏览器窗口)、location(地址栏)、history(浏览历史)、screen(显示器屏幕)、navigator(浏览器软件)、document(网页)
  • DOM document object model 文档对象模型,主要提供了访问和操作HTML标记的方法。
  • BOM 和 DOM可一看做是各由一组对象组成的。
  • window对像层级最高,使用时可以省略。eg:window.document.write();->document.write();[各层级之间访问方式]。
  • window 对象
  • name 浏览器窗口或者框架的名字,此名字用在<a>标签中target属性。设置名字:window.name = “new name”;获取窗口名字:document.write(name);
  • top 代表最顶层窗口。
  • parent 代表父级窗口,主要用于框架。
  • self 代表当前窗口,主要用于框架。
  • innerWidth 浏览器的内宽 (不含 地址栏、菜单栏、工具栏、状态栏等)。火狐浏览器支持,在IE下应使用:document.documentElement.clientWidth。
  • innerHeight 浏览器内高不含 地址栏、菜单栏、工具栏、状态栏等)。火狐浏览器支持,在IE下应使用:document.documentElement.clientHeight
  • document.documentElement 就是<html>标记对象。
  • document.body 就是<body>标记对象
  • alert():弹出一个警告窗口。
  • prompt():弹出一个输入窗口。
  • confirm():弹出一个确认窗口,如果单机确定返回true,单机取消返回false。
  • close():关闭一个窗口。
  • print():打印窗口。
  • open():打开一个新窗口,
    var window对象 = window.open(url,name,options);
    //url为新窗口地址;name为新窗口的名字,用在<a>标签中target属性;options为窗口规格:width(宽度)、height(高度)、left(新窗口距离屏幕左边距离)、top(新窗口距离屏幕上边距、离)、menubar(是否显示菜单栏,取值 yes 、no)、toolbar(工具栏)、status(状态栏);返回值为window对象的变量。
  • setTimeout()延时器
  • 功能:设置一个延时器。再固定时间时调用一次code。
  • 语法:var timer = window.setTimeout(code,millisec); 其中 code是任何合法的JS代码,millisec指毫秒值。返回值:返回一个延时器的id变量,用来给clearTimeout()来清除。
    window.setTimeout(“close()”,2000); window.setTimeout(init,2000);//传递函数地址,而不传递函数结果。
    延时器要想实现定时器的作用,在函数中调用自己。
  • clearTimeout():
  • 清除延时器id变量。
  • 语法:window.clearTimeout(timer);其中timer就是由setTimeout()设置的延时器的id变量。
  • setInterval()定时器
  • 功能:设置一个定时器。周期性调用一个函数。
  • 语法:var timer = window.setInterval(code,millisec);其中 code是任何合法的JS代码,millisec指毫秒值。返回值:返回一个定时器的id变量,用来给clearInterval()来清除。
  • window.setInterval(“close()”,2000);
  • clearIntervalt():
  • 清除延时器id变量。
  • 语法:window.clearInterval(timer);其中timer就是由setInterval()设置的定时器的id变量。
  • screen屏幕对象
  • width:屏幕的宽度,只读属性。
  • height:屏幕的高度,只读属性。
  • availWidth:有效宽度,不含任务栏,只读属性。
  • availHeight:有效高度,不含任务栏,只读属性。
  • navigator对象
  • appName:浏览器软件名。用做判断客户端浏览器内核。IE浏览器返回值:Microsoft Internet Explorer,火狐浏览器返回值:Netscaper
  • appVersion:浏览器软件的核心版本号。
  • systemLanguage:系统语言。
  • userLanguage:用户语言。
  • platform:平台。
  • location地址栏对象
  • host:主机名+ href:获取地址栏中完整的地址。可以实现JS的网页跳转。
  • pathmame:文件路径及文件名。
  • search:查询字符串。
  • protocol:协议
  • hashe:锚点
  • reload([true]):刷新,值为true,表示强制刷新。
  • 注意:所有的属性,重新赋值后,网页将自动刷新。<meta http-equiv =“refresh”content =“5";url="http://www.sina.com.cn" />
  • history对象。
  • length: 历史记录的个数。
  • go(n): 同时可以实现“前进”和“后退:history.go(0)刷新网页;history.go(-1)后退;history.go(1)前进步;history.go(3)前进三步。
  • forward():相当于浏览器的“前进”按钮。
  • back():相当于浏览器的“后退”按钮
  • DOM的官方定义
  • DOM Document Object Model 文档对象模型,DOM是W3C制定的网页标准或规则,而这个标准在浏览器中以对象形式得以实现。
  • DOM可以使脚本、动态的访问或者操作,网页的内容、外观、结构。
  • DOM的分类
  • 核心DOM:提供了同时操作HTML文档和XML文档的公共属性和方法。
  • HTML DOM : 针对HTML文档提供的专用的属性和方法。
  • XML DOM:针对XML文档提供的专用的属性和方法。
  • CSS DOM:提供了操作CSS的属性和方法。
  • Event DOM:事件对象模型,例如:onload,onclick ……
  • HTML节点树
    节点关系
  • 根节点:一个Html文档只有一个根,它就是HTML节点。
  • 子节点:某一个节点的下级节点。
  • 父节点:某一个节点的上级节点。
  • 兄弟节点:两个子节点同属于一个父节点。
  • DOM中节点类型
  • document文档节点:代表整个网页,不代表任何HTML标记。但它是html节点的父节点。
  • element元素节点:指任何HiML标记。每一个hiML标记就称一一个“元素节点”。它可以有文本节点和属性节点。
  • atribute属性节点:指HTML标记的属性。
  • text节点:是节点树的最底节点。
  • 核心DOM中的公共的属性和方法。提示:核心DOM中查找节点(标记),都是从根节点开始的(html节点)。
    节点访问。
  • iujnodeName: 节点名称。
  • nodeValue: 节点的值。只有文本节点才有值,元素节点没有值。只能为纯文本。
  • firstChild: 第1个子节点。
  • lastChild: 最后1个子节点。
  • childNodes:子节点列表,是一个数组。
  • parentNode:父节点。
    查找标记的方法:
    document.firstChild; document.documentElement;
  • 对节点的属性操作
    setAttribute(name,value):给某个节点添加一个属性。
    getAttribute(name):获取某个节点属性的值。
    removeAttribute(name):移除某个节点。
  • 节点的创建,
  • document.createElement(tagName):创建一个指定的HTML标记,一个节点;tagName: 是指不带尖括号的HTML标记名称。Var imgObj = document.createElement("img”);
  • parentNode.appendChild( childNode): 将创建的节点,追加到某个父节点下。parentNode代表父节点,父节点必须存在。childNode代表子节点。document.body.appendChild(imgObj);
    3.parentNode.removeChild(childNode):删除某个父节点下的子节点。parentNode代表父节点。childNode代表要删除的子节点。document.body.removeChild(imgObj);
  • HTML DOM简介和新特性
    核心DOM中,提供的属性和方法,已经可以操作网页了。为什么还要有HIMLDOM呢?
    如果在核心DOM中,网页中节点层级很深时,访问这个节点时将十分麻烦。
    那么,HIMLDOM中就提供了通过id直接找节点的方法,而不用再HTML根节点开始。
  • HTMLDOM的新特性。
  • 每一个HTML标记,都对应一个元素对象。如: 对应一一个图片对象。
  • 每一个HiML标记的属性,与对应的元素对象的属性,–对应。
  • HTML DOM访问HTML元素的方法(最常用)
    getElementById():查找网页中指定id的元素对象。
    语法:
    Var obj = document.getElementById(id);
    id 是指网页中标记的id属性的值。返回值:返回一个元素对象。
    var imgObj = document.getElementByld(“img”);
  • getElementsByTagName(tagName)
    功能:查找指定的HTML标记,返回一个数组。
    语法:var arrObj = parentNode.getElementsByTagName(tagName)
    参数: tagName 是要查找的标记名称,不带尖括号。
    返回值: 返回一个数组。如果只有一个节点,也返回一个数组。
    举例:
    var arrObj = ulObj.getElementsByTagName(“li”);
  • 元素对象的属性
  • tagName:标签名称,与核心DOM中nodeName一样。
  • className: CSS类的样式。
  • id:同HTML标记id属性一样。
  • title:同HTML标记的title 属性一 样。
  • style:I同himl标记的style属性一样。
  • InnerHTMLl: 包含HIML标记中的所有的内容,包括HIML标记等。
  • offsetWidth: 元素对象的宽度,不带px单位。
  • offsetHeight: 元素对象的高度,不带px单位。
  • scrollWidth: 元素对象的总宽度,包括滚动条中的内容,不带px单位。
  • scrollHeight: 元素对象的总高度,包括滚动笨嘴的内容,不带px单位。
  • scrollTop: 指内容向。上滚动上去了多少距离(有滚动条时才有效)。
  • scrollLeft:指内容向左滚动过去了多少距离(有滚动条时才有效)。
  • CSS DOM动态样式
    使用JS操作CSS中的各属性。JS只能操作或修改行内样式。如: imgObj.style.border =“1px solid red”
    对于类样式,通过className来赋值。如: imgObj.className =“imgClass"
  • style对象
    每个HIML标记,都有一个style属性。但这个style属性又是一个style对象。
    那么,这个style对象的属性有哪些? style 对象的属性,与CSS中的属性,一对应。因此,style 对象用来代替CSS.
    如:imgObj.style.border = “1px solid red”;
  • style对象属性与CSS属性的转换
    如果是一个单词,style对象属性,与CSS属性一样。
    如果是多个单词,第1单词全小写,后面每个单词首字母大写,并去掉中划线。。
divObj.style.backgroundColor =“red";"
divObj.style.backgroundImage =“url(images/bg.gif)”;
divObj.style.fontSize =“18px"
  • Event DOM 事件DOM
    1、事件简介,
    事件主要实现“用户与网页的交互”。+当事件发生时,去执行JS功能代码。
    当点击图片时(onClick),将图片放大两倍(JS代码)。
    当网页加载完成时(onLoad),弹出一个小窗口。
    当鼠标放到滚动文本上时(onMouseOver),文本停止滚动。
    当向下拖动滚动条时(onscroll),文本向上滚动。
    2、常用事件。
    onload:当网页加载完成时;只能给<body>用。
    onclick:当点击时,所有标记都适用。
    onscroll: 当拖动滚动条时。
    onmouseover:当鼠标放上时。
    onmouseout: 当鼠标移开时
    onsubmit: 当提交表单时。
    onreset: 当重置表单时。
    onfocus: 当获得焦点时,把光标定位到文本框中。
    onblur:当失去焦点时,把光标从文本框中移开。
    onchange: 当下拉列表内容改变时。用在下拉列表、上传文件。
    onselect:当选中文本时。
    onresize:当改变网页窗口大小时。
  • Event对象简介。
    当事件发生时,向调用函数,传递一个event 参数,这个event 参数是一个事件对象。
    该event对象中记录了当前事件发生的环境信息。如:单击时的坐标、事件类型等。
    注意:这个event对象是“短暂”存在的,新的事件发生,新的event对象产生,原来的event对象消失了。
  • DOM中的event对象
    1、DOM中引入Event对象(DOM浏览器就是标准浏览器)。
    (1)通过HtML标记的事件属性来传递event对象
    在DOM中,event对象是作为事件调用函数时的参数,传递给函数的。
    该event参数,是系统固定写法,全小写,不能加引号,它就是event对象参数。
    (2)使用元素对象的事件属性来传递event事件。
    2、DOM中Event对象属性type:当前的事件类型。
    clientX和clientY:距离窗口左边和上边的距离
    pageX和pageY: 距离网页左边和上边的距离
    screenX和screenY:距离屏幕左边和上边的距离
  • IE中Event对象
    IE中的event对象,是window对象的一个属性,可以通过window对象调用,而不需要传参数。如: window.event.
    IE中引用Event对象+
  • IE中Event对象属性
    type:事件的类型.
    clientX和clientY:距离窗口左边和上边的距离。
    x和y:距离网页左边和上边的距离。
    screenX和screenY:距离屏幕左边和上边的距离。
  • form对象。
    一个<fom>标记,就是一个<fom>对象。
    form对象的属性:
    name: 表单的名称,主要用来让JS来控制表单。
    action:表单的数据处理程序(PHP文件)。
    method: 表单的提交方式,取值: GET、POST。
    enctype: 表单数据的编码方式。
    2、form 对象的方法
    submitO:提交表单,与<input type =“submit" />功能一样。
    reset( ): 重置表单,与重置按钮功能一一样。
    3、form表单事件
    onsubmit:当单机提交按钮时发生,并数据发往服务器之前发生,主要用来 在表单提交之前进行表单验证。
    onreset:当单机重置按钮时发生。
  • 获取表单元素的。
    通过网页元素的id来获取对象。document.getElementById(id).
    通过himl标签名来获取对象。parentNode.getElementsByTagName(tagName)
    通过name属性来获取表单元素对象。表单中所有元素的起点都必须是document对象。
    语法:document.formObj.elementObi
    访问方式是三层结构。其中,formObj 代表表单对象,elementObi 代表表单元素对象。
    举例:document.form1.usermame.value.length;
  • 表单的提交及验证方法
    1、使用submit按钮结合onclick来验证
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>form表单验证</title>
</head>
<script type="text/javascript">
function checkForm() {
    if (document.form1.username.value=="" ){
        window.alert("用户名不能为空!");
        return false;
    }
    else{
        if(document.form1.userpsd.value==""){
            window.alert("密码输入有误");
            return false;
        }
        else {
            window.alert("验证通过");
            return ture;
        }
    }
}
</script>
<body>
<form name="form1" action="test.php" method="post" onsubmit="return checkForm()">
    名字: <input type="text" name="username">
    密码: <input type="password" name="userpsd">
    <input type="submit" value="登录">
</form>
</body>
</html>

2、使用submit按钮结合onsubmit来验证

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>form表单验证</title>
</head>
<script type="text/javascript">
    function checkForm() {
        if (document.form1.username.value=="" ){
            window.alert("用户名不能为空!");
            return false;
        }
        else{
            if(document.form1.userpsd.value==""){
                window.alert("密码输入有误");
                return false;
            }
            else {
                window.alert("验证通过");
                return ture;
            }
        }
    }
</script>
<body>
<form name="form1" action="test.php" method="post" >
    名字: <input type="text" name="username">
    密码: <input type="password" name="userpsd">
    <input type="submit" value="登录" onclick="return checkForm()">
</form>
</body>
</html>

3、button按钮结合submit()方法验证。

  • input对象:一个标记,就是一个input对象。。
    1、input对象的属性(以type=text为例)
    name: 表单元素的名称。
    value:表单元素的值,用户输入的内容,可以通过该属性来获取。
    size:表单的长度。
    maxlength:表单元素的最大长度(最多可输的字符数)。
    disabled: 禁用属性。
    readonly: 只读属性。
    2、input对象的方法。
    focus():获得焦点的方法(定位光标)。
    blur():失去焦点的方法(移走光标)。
    select(): 选中文本的方法。
    3、input 对象的事件,
    onfocus:当获得焦点时(主要用在验证表单)
    onblur:当失去焦点时(主要用在验证表单)
  • select对象:一个标记,对应一个select对象。
    select对象属性
    options[]:设置或返回下拉列表中标记构成的数组。
    selectedIndex: 设置或选中指定的索引号。
    length: 指定下拉列表中标记的个数。
    name: 元素名称。
  • option对象。:一个<option>标记,对应一个option对象。
    option对象属性
    text: 指<option></option>之间的文本。
    value:是指<option>标记的属性。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值