HTML表单的用法

html-css012

HTML表单的用法,第1张

form 将表单元素包裹起来,受form包裹的表单元素才会提交给服务器。

<form action=”地址” method=””>

表单元素

</form>

form标签是表单的外壳,主要有四个属性:

action:表单提交的地址(后台服务器地址)

method:提交表单的方法,两种请求方式,post、get

target:在何处打开action

enctype:(编码方式)

applocation/x-www-form-erlencoded 在发送前编码所有字符(默认)

text/plain:空格转换为”+”号,但不对特殊字符编码

multipart/form-data:使用包含文件上传控件的表单时,必须使用该值。例如:上传音频、视频。

1、区别:(体现在方式、安全、数据量三个方面)

- 方式,点击提交(发请求时),get将请求数据变成”k=value”的形式,然后组装到URL上。post方式提交请求时,数据通过浏览器传输给后台,但是URL没发生变化。

- 安全,get将信息组装到URL上,信息泄露,不安全;post方式的URL没发生变化更加安全。

- 数据量,浏览器地址栏能存放的字符有限的(容量有限),get方式的URL过于冗长,当超出限制时,浏览器自动截断URL,则传给后台的数据不完整,所以对数据大小有限制。而post方式的URL更干净、轻便,能完整地将数据传递给后台,无数据大小限制。

2、什么时候用get,什么时候用post(使用场景)

get:向后台查询东西,如查询论文;即向后台索要数据,用关键词来获取大量数据。安全性要求低,简单。

post:向后台传数据,例论文查重(数据很大,提交给后台)。安全性要求高。

是表单收集信息的元素,主要有以下属性:

<label for="input_username">姓名:</label><input type="text" name="username" id="input_username" placeholder="用户名"/>

效果:

<label for="input_password">密码:</label><input type="password" name="password" id="input_password" placeholder="密码"/>

效果:

效果:

效果:

<label>我的car:</label><select name="transportation"><option value="bus">公交</option><option value="subway" selected>地铁</option><option value="taxi">出租车</option></select>

效果:

<label >评论:</label><textarea name="recomment" placeholder="ddd" cols="60" rows="10"></textarea>

效果:

<label for="zjz">证件照:</label><input type="file" name="photo" id="zjz" accept="image/jpg"/>

其中accept规定了文件格式。

效果:

<input type=”hidden” name=”abc” value=”123”>

点击提交时,hidden里隐藏的数据也提交给了后台;abc=’123’

作用:(1)暂存信息,(用户看不到),便于设计者随时调用程序。

(2)用于安全性校验,例如通过设置hidden隐藏域,服务器可以验证用户权限,避免伪造的假网站提交数据。

<input type="button" value="按钮"/>

效果:

<input type="submit" value="提交"/>

效果:

<input type="reset" value="复位"/>

效果:

表单标签的主要作用是:在HTML页面中创建一个表单,在用户填写完表单信息后,将数据提交给服务器。需要填写数据的标签必须要放在表单标签体里面。 常用的属性:action:请求路径,在该属性中确定表单数据提交的服务器地址。method:请求方式。常用的请求方式有:get,post。get(默认):1.get的请求的数据有限2.提交的表单数据是追加在请求的路径上,如:regist.action?username=jack&password=1111。追加是在请求地址的后面加上?连接。之后每一对数据使用&连接。post:1.提交的数据不在请求路径上追加,不显示在地址栏上。2.理论上,post请求的数据量是无限的。

form保单提交的几种方法:

1、方法一:利用form的onsubmit()函数

<script type="text/javascript">

function validateForm(){

if(document.reply.title.value == ""){ //通过form名来获取form

alert("please input the title!")

document.reply.title.focus()

return false

}

if(document.forms[0].cont.value == ""){ //通过forms数组获取form

alert("please input the content!")

document.reply.cont.focus()

return false

}

return true

}

<form name="reply" method="post" onsubmit="return validateForm( )">

<input type="text" name="title" size="80" /><br />

<textarea name="cont" cols="80" rows="12"></textarea><br />

<input type="submit" value="提交" >

</form>

注意:

1.onsubmit属性内容一定要有return关键字,否则函数会直接执行,不会返回

2.validateForm一定要返回一个boolean类型的返回值

3.提交按钮要写成submit类型的

方法二:利用input类型为submit组件的onclick()函数

1.将上面form标签中的onsubmit="return validateForm()"属性,去掉。

2.为“提交”按钮添加onclick事件,如下:

<input type="submit" value="提交" onclick="return validateForm()">

方法三:利用button组件的onclick()函数,手动提交

<script type="text/javascript">

function modifyItem() {

if (trim(document.getElementById("itemName").value) == "") {

alert("物料名称不能为空!")

document.getElementById("itemName").focus()

return

}

with (document.getElementById("itemForm")) {

method = "post"

action = "item.do?command=modify&pageNo=${itemForm.pageNo}"

submit()

}

}

//返回

function goBack() {

window.self.location = "item.do?command=list&pageNo=${itemForm.pageNo}"

}

</script>

<form name="itemForm" id="itemForm">

<input name="itemNo" type="text" id="itemNo" value="${ item.itemNo }" >

<input name="itemName" type="text" id="itemName" value="${ item.itemName }" >

<input name="btnModify" type="button" id="btnModify" value=“修改" onclick="modifyItem()">

</form>

注意:

.提交时,设置form的action和methods属性,然后利用form.submit()函数提交。