[华为云WEB前端全栈成长计划]五、表单
【摘要】 目前为止,表单应该时我们使用Web端应用时,必须要接触的东西。但是你可能都不知道什么时表单。HTML 表单用于收集用户输入[W3school]。这就是说我们在网站上进行登录,进行搜索等需要提交我们的输入操作都需要用到表单。
目前为止,表单应该时我们使用Web端应用时,必须要接触的东西。但是你可能都不知道什么时表单。HTML 表单用于收集用户输入[W3school]。这就是说我们在网站上进行登录,进行搜索等需要提交我们的输入操作都需要用到表单。
表单<form>
这里我们必须要使用action和method属性,其中action代表数据要提交到那里去,而method代表请求的方式。我们之前说过了我们使用Web程序就是发送请求和接收响应的过程,举个例子,我们是送外卖的,送到客户家里,我们到客户家门口,就要向客户发送一个请求,请客户收外卖。我们要把这个请求发送给点外卖的客户,所以这个点外卖的客户地址就相当于action属性的内容,也就是要提交的地址。然后我们会打电话或者按门铃的方式告诉客户,我是哪家店的,您的外卖到了。当然这两种方式不是get和post请求方式的类比,只是如同get和post一样,有多种方法去提交数据。我们把需要提交的信息会放在form表单中,比如我们登录时需要用用户名和密码。这个时候我们就需要在form表单中设置两个输入框。一个用来接收用户名,一个接收密码。但是最后我们还需要一个input框这个input框更像是一个按钮,它的作用就是用来进行提交数据。当我们数据输入有问题的时候,想要重置,就需要另一个按钮,但是也是input标签的作用就是reset。这里之所以强调不是按钮是因为,html中有专门的button标签,用来设置一个按钮,但是在form表单中我们都是使用input框然后在里面根据设置type的类型来产生相似的作用。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>form表单</title>
</head>
<body>
<form action="#" method="get">
用户名:<input type="text" placeholder="输入用户名" name="username"/>
<br />
密码:<input type="password" placeholder="输入密码" name="password"/>
<br />
头像:<input type="file" name="file"/>
<br />
性别:
<label for="male">Male</label>
<input type="radio" name="sex" id="male" />
<br />
<label for="female">Female</label>
<input type="radio" name="sex" id="female" />
<!--<input type="radio" name="sex" value="男" >男
<input type="radio" name="sex" value="女">女-->
<br />
爱好:
<input type="checkbox" name="hobby" value="学习">学习
<input type="checkbox" name="hobby" value="吃饭">吃饭
<input type="checkbox" name="hobby" value="睡觉">睡觉
<br />
籍贯:
<select name="曾居住地" size="3" multiple="multiple">
<option>北京</option>
<option>天津</option>
<option>上海</option>
<option selected="selected">陕西</option>
</select>
<br />
<p >
描述:
<textarea cols="10" rows="10" style="resize:none;"></textarea >
</p>
<br />
<input type="submit" value="提交">
<input type="reset" value="重置">
</form>
</body>
</html>
打开后效果如图:
其中placeholder表示输入框为空时显示的内容。
我们注意到input标签中type类型的不同也会产生不同的效果:
text:就是一个默认的输入框
password:我们输入的东西会显示为●
radio:表示这是一个单选框,但是注意需要配合name使用,要不然会无法判定单选是和谁单选,总不可能性别选项中,男和打乒乓球进行互相单选吧。我们用name将男和女联系起来。产生只能选择一个的效果,这里注意labla标签,在label也需要和input框type="radio"配合使用,这种方式和注释的方式区别在于,单击文字能否出发选中的效果。使用label标签,单击男就可以选中,而普通方法不行。
checkbox:表示多选,也需要配合name属性进行使用,表示多个属性是属于一个内容。
select:要配合option进行使用,表示选择框,常用的有籍贯等选择,我们可以在iotion中使用selected="selected"或者直接写selected就可以默认选中,在select中设置size可以表示默认显示多少个,而使用multiple="multiple"或者multiple可以表明支持选择多个。
file:表示文件的上传
date:表示日期
number:表示纯数字
email:必须是邮箱的格式"@"
submit:会生成一个按钮,点击后会将表单中的数据进行提交
reset:生成一个按钮,点击后会将表单中的数据进行清空
还有其他的方式,这里不一一列举
textarea不属于input中的内容,自成一派,会产生一个文本框,我们可以使用row和col设置显示行和列默认的数量。使用style="resize:none;"表示确定了默认的大小,如果不设置,我们按住点击文本框右下角进行缩放或者放大。
至于get和post的方法,我们可以分别设置提交方法为post和get然后进行提交观察浏览器地址栏的变化情况。我们暂时可以不深入了解。
但是一般有以下几点:
get方式会把提交的数据拼接在请求的地址后面,注意?和&,而post不会将数据之间显示在地址栏
get方式对请求的数据大小有要求,post请求没有大小限制。
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
作者其他文章
评论(0)