形式
form属性:常用的属性有以下5个(白色字体通常为必填属性)
1.动作(action)指定表单数据处理程序的URL地址,可以是绝对地址,相对地址,或其他地址方式(如E-mail地址); 如果没有该属性数据,则提交到当前页面
当客户端提交数据时,会提交给action指定URL地址的程序来处理数据
2method(发送方式)指定将采集到的数据发送到服务器的形式。 可以说有四种方法分别对应了数据操作的增删改查,但通常可以使用get和post两种方法来完成对应的请求
2.1get:默认方式采集的数据会附加到地址URL中,参数可见。 它不能传输需要保密的信息,例如密码。 参数大小有限(4kb以内的数据),因此传输速率比post方法快。 缺点是数据宽度不能太长,通常用于数据查询请求
2.2post:收集到的数据与URL分开发送,数据宽度通常不受限制(服务器端会受到一些限制)。 缺点是传输速率比get方式慢,通常用于新的数据请求
2.3put:用于请求更改数据
2.4delete:用于删除请求数据
获取并发布发送的数据
获取表单:提交数据时,当form元素有name属性时,将数据提交到服务器并追加到URL中
Post形式:有name属性时提交的数据可以在开发者工具-->网络项中看到。
四种提交数据形式,除post形式外,其余方法数据均附加在URL中
网页标题及其日文内容中的404NotFound表示找不到该请求对应的处理程序
3name(表单名称) 设置一个与功能相匹配的名称,避免后台程序处理多表单数据时混淆注意:表单名称不能包含特殊符号和空格
4enctype(编码方式)设置表单信息提交的编码方式,enctype有三种编码方式
4.1Text/plain:以纯文本形式发送
通配符对排列表单数据如key1=value1rnkey2=value2,特殊字符不使用通配符
4.2Application/x-www-form-urlencoded:默认编码方式
表单数据中的非字母数字字符会被转换为通配符,如“%HH”,然后组合成这些方法key1=value1&key2=value2...; 前端获取到数据后,需要进行解码
4.3Multipart/form-date:上传文件时表单中必须选择此项
首先,生成边界来分割不同的数组。 为了防止与文本内容重复,边界非常长且复杂。 之后,Content-Type表明数据被编码为multipart/form-data,以及这个请求的边界是什么。 消息体按照数组的个数分为多个结构相似的部分。 每个部分以--boundary开头,后面是内容描述信息,后面是回车,最后是数组的具体内容(文本或补码)
5target(目标显示方法)指定从表单返回信息的目标窗口的打开方法; 目标有四个值:
5.1_blank:将链接文件加载到无标题的浏览器窗口中
5.2_parent:将链接文件加载到富含链接的父框架集中
5.3_self:将链接文件加载到与链接相同的框架或窗口中
5.4_top:在顶部浏览器窗口显示返回的信息
使用时html下拉选项,如果当前页面有框架,只需让target=“你的框架的名称”
HTML的框架功能:同一个浏览器窗口中可以显示多个页面
在frame页面中,不要使用id属性来标记,而是使用name属性来标记,否则terget将无法识别
表格方法:
onsubmit()方法是form的一种特殊方式,用于在表单提交数据时进行验证
表单提交时执行一段JS代码,只有true或false。 如果没有返回值,则默认为true
注意:1)按钮的类型必须是:type="submit" 2)提交方法写在form元素的onsubmit提交风暴上,但方法名后面必须加return
用户名:
//onsubmit事件的方法
function change() {
var p1 = document.getElementById("p1");
//如果用户名tName的值为空返回false
if (!f1.tName.value) {
p1.innerText = '请输入用户名!';
return false;
} else {
return true;
}
}
单选按钮/复选框
输入标签根据不同的值分为不同的类型:单选按钮(radio)和复选框(checkbox)有几个共同的属性:
type:设置为radio/check的类型
name:两个作用 1)提交数据所需属性 2)相同的组名取值相同
value:提交给服务器的值,其值不显示在明面上
id:两个功能 1)与点击文字结合时,效果同上
1.3 设置/确定所选项目
设置/判断单选按钮
设置时checked的值可以check或者true,只有checked=true才能判断
$(function () {
//设置通过JS设置默认选中项
var rdBoy = document.getElementById("rdBoy");
//设置被选中
rdBoy.checked = 'checked';
rdBoy.checked = true;
//判断是否选中
if (rdBoy.checked == "checked") {
console.log("值为:checked " + rdBoy.value);
}
if (rdBoy.checked == true) {
console.log("值为:true " + rdBoy.value);
}
//通过JQ设置默认选中项
//$("#rdGirl").attr('checked', true);
//$("#rdGirl").attr('checked', 'checked');
});
2 个复选框
复选框的常用属性与单选按钮类似,这里不再赘述
复选框中有两个标签:1) fieldset 包裹一些复选框 2) 图例显示包裹框上的文本
一组checkbox具有相同的值html下拉选项,可以设置多个check,并且结果不会被覆盖
复选框
注意:页面标签中的设置和选中时脚本中的设置的区别
选择
1 下拉列表框的属性:
name:下拉列表框的名称,提交数据时必须是一个属性
size:显示下拉选项的数量(默认单个)
多个:按住ctrl/shift键点击选项实现多选(默认单选)
selected:设置默认选中项
2 两个非常标签 1) optgroup 分组 2) option 列表框选项
option标签的属性值将选项值发送到服务器; selected 设置默认选项
下拉列表框
山西
山东
河南
河北
华盛顿
纽约
旧金山
注意:页面中下拉列表框与脚本中下拉列表框的区别