专业IT网络知识平台,分享IT百科知识、生活百科知识解答!

易企推科技
易企推科技

html表单怎么制作,html表单代码

来源:小易整编  作者:小易  发布时间:2023-03-20 04:37
摘要:html表单怎么制作,html表单代码HTML表单大部分情况下,网页中展示的数据或者图片或者多媒体效果都是静态的数据,但是有时用户需要通过网页跟服务器进行动态的数据交互,例如登录、注册等操作,这时需要用到表单。表单其实是由一些输入框、单选、...

html表单怎么制作,html表单代码

html表单怎么制作,html表单代码

HTML 表单

大部分情况下,网页中展示的数据或者图片或者多媒体效果都是静态的数据,但是有时用户需要通过网页跟服务器进行动态的数据交互,例如登录、注册等操作,这时需要用到表单。表单其实是由一些输入框、单选、复选框等元素组成,用户点击提交按钮,浏览器会将这些数据发送给表单设置的 URL ,URL 对应的服务器接收到数据并处理之后,再将数据返回给浏览器。

1. form

form 是一个表单容器,其中包含需要提交的数据,和相应的提交按钮,例如:

<form action="/user/login" method="post">   <h3>登录</h3>   <div>      <label for="user_name">用户名</label>      <input id="user_name" name="user_name" ><!-- 用户名表单 -->   </div>   <div>      <label for="password">密码</label>      <input id="password" name="password" type="password" ><!--密码表单-->   </div>    <div>        <button  type='submit'>登录</button>    </div> </form>

代码解释:当用户点击登录按钮时,使用 post 方式把用户输入的用户名和密码这两项数据提交到,网站服务器的 /user/login 页面下,这时 /user/login 页面的程序会对用户提交过来的用户名和密码与服务器的数据库中用户注册时填写的用户名和密码进行比对,如果相同就登陆成功。

form 标签有很多的属性,下面分别来介绍。

1.1 accept-charset 属性

accept-charset 属性用于设定使用哪种字符集处理表单数据,常用值 utf-8、ISO-8859-1、GB2312 等。其中 utf-8、ISO-8859-1、GB2312 分别表示 Unicode 编码、拉丁字母字符编码、简体中文字符编码,如果需要使用多个字符编码,则需要使用逗号隔开。如果没有设置 accept-charset 属性,则默认使用与 HTML 文档一致的编码。

<form accept-charset='utf-8'><!--使用Unicode编码--> </form> <form accept-charset='ISO-8859-1'><!--使用拉丁编码--> </form> <form accept-charset="utf-8,ISO-8859-1"><!--同时支持两种编码--> </form>

1.2 action 属性

用于设定表单提交的服务器的 URL,可以是相对路径和绝对路径。例如设置:

<form action="https://www.baidu.com" method="post">   <h3>登录</h3>   <div>      <label for="user_name">用户名</label>      <input id="user_name" name="user_name"  ><!-- 用户名表单 -->   </div>   <div>       <label for="password">密码</label>       <input id="password" name="password" type="password" ><!--密码表单-->   </div>   <div>       <button  type='submit'>登录</button>   </div> </form>

代码解释:上述代码使用 post 方式向百度首页提交数据。

1.3 autocomplete 属性

用于设定是否启用自动完成功能,这个功能类似于历史记录的功能,之前提交过的表单下次在此输入时,浏览器会记录下来历史记录,可用值 on/off。

<form autocomplete='on'><!--默认开启自动完成--> <h2>开启自动完成</h2> 用户名:<input type="text" name="fname"><br> 邮箱: <input type="email" name="email"><br> </form> <form autocomplete='off'><!--关闭自动完成--> <h2>关闭自动完成</h2> 用户名:<input type="text" name="fname"><br> 邮箱: <input type="email" name="email"><br> </form>

注意:除了 Opera 其他主流浏览器都支持 autocomplete。

1.4 enctype 属性

enctype 用于定义表单数据提交到服务器的过程中如何对数据进行编码,可选值有:

  • application/x-www-form-urlencoded;
  • multipart/form-data;
  • text/plain

第一种:application/x-www-form-urlencoded

默认方式是第一种 application/x-www-form-urlencoded,当使用 form 表单提交数据时,需要对数据进行编码,因为 URL 的数据是通过 ?key=value&key=value& 的方式传输给服务器,这其中有一些作为功能性质的特殊字符例如 & ? =,如果数据中带有这些字符而且未进行编码的话,可能会导致传输数据发生错误,例如原本是 ?key=value ,如果 value 是 123&456 的话,那么 结果服务器中接收到的 value 值变成 123,且多出一个 key=456,这种编码方式叫做 URI 百分号编码,其标准收录在 RFC3986 中。

当设置成 multipart/form-data 时,浏览器不对字符进行编码,这种编码方式通常适用于上传文件。

默认方式是第一种 application/x-www-form-urlencoded,对数据进行编码。

为什么要对提交的数据进行编呢?

当使用 form 表单提交数据时,需要对数据进行编码,因为 URL 的数据是通过 ?key=value&key=value& 的方式传输给服务器,这其中有一些作为功能性质的特殊字符例如 & ? =,如果数据中带有这些字符而且未进行编码的话,可能会导致传输数据发生错误,例如原本是 ?key=value ,如果 value 是 123&456 的话,那么 结果服务器中接收到的 value 值变成 123,且多出一个 key=456,这种编码方式叫做 URL 百分号编码,其标准收录在 RFC3986 中。

第二种:multipart/form-data

当设置成 multipart/form-data 时,浏览器不对字符进行编码,这种编码方式通常适用于上传文件;

第三种:text/plain

使用第三种方式 text/plain 时,浏览器将请求参数放入 body 作为字符串处理,这种方式用于传输原生的 HTTP 报文,不适用任何格式化处理。

1.5 method 属性

使用表单提交数据时,实际上只发送一个 HTTP 协议的数据请求,HTTP 协议有很多种数据请求方式,这个 method 属性用于设定 HTTP 请求的方式。常用的方式有 post、get,当未设置时默认使用 get 方式。除了常用方式之外,根据服务器 HTTP 网关的设置,还可以支持:

  • options 客户端查看服务器的配置;
  • head 用于获取报文头,没有 body 实体;
  • delete 请求服务器删除指定页面;

本文地址:IT问答频道 https://www.hkm168.com/itwenda/933470.html,易企推百科一个免费的知识分享平台,本站部分文章来网络分享,本着互联网分享的精神,如有涉及到您的权益,请联系我们删除,谢谢!


IT问答
小编:小易整编
相关文章相关阅读
  • win7升级错误代码80072efe该怎么办win7升级错误代码80072efe解决...

    win7升级错误代码80072efe该怎么办win7升级错误代码80072efe解决方案

    win7客户在系统更新的过程中遇到了80072efe的报错,像这种状况要怎么办呢?你先清查网络问题,然后去微软官网下载代理,假如你用的是32位计算机就免费下载32位代理,安装下载完成后马上重启。假如再次出现升级不正确得话,你也就再去官方网站...

  • 修复:在 Xbox 应用上的 Halo Infinite(Campaign)安装错误...

    修复:在 Xbox 应用上的 Halo Infinite(Campaign)安装错误代码 0X80070032、0X80070424 或 0X80070005

    haloinfinite(campaign)是一款第一人称射击视频游戏,于2021年11月推出,可供单人和多用户使用。该游戏是halo系列的延续,适用于windows、xboxone和xbox系列的用户x|s。最近...

  • git怎么合并分支代码

    git怎么合并分支代码

    git合并分支代码的方法:1、使用“gitmerge”命令,该命令用来做分支合并,可以将其他分支中的内容合并到当前分支中。2、使用“gitrebase”命令,该命令用于改变当前的分支的基点,进而实现分支合并。本教程操作环境:Window...

  • html中浮动是什么

    html中浮动是什么

    在html中,浮动就是让元素可以向左或向右移动,直到它的外边距碰到其父级的内边距或者是上一个元素的外边距,只需要给元素设置“float:left|right|none|inherit”样式即可。本教程操作环境:windows7系统、CSS3...

  • html如何解析%%

    html如何解析%%

    html是一种用于创建网页结构的标记语言,它提供了一种方式来标记文本、图像、链接以及其他与网站相关的内容。html可以在网页中插入各种元素,包括表格、列表、图像、表格等等。本文将讨论html的解析过程以及如何编写有效的html代码。HTML...

  • html embed标签怎么用

    html embed标签怎么用

    HTMLembed标签使用方法和属性详解一、基本语法代码如下:embedsrc=url说明:embed可以用来插入各种多媒体,格式可以是Midi、Wav、AIFF、AU、MP3等等,Netscape及新版的IE都支持。url为音频或...

  • HTML5中nav是什么意思

    HTML5中nav是什么意思

    在html5中,nav全称“navigation”,中文意思为“导航”,是一个导航标签,用于表示html页面中的导航;nav标签会定义一个含有导航链接的区域,语法“链接...”。本教程操作环境:windows7系统、HTML5版、Dell...

  • html中什么是伪类

    html中什么是伪类

    在html中,伪类是一种用于已有元素处于某种状态时(滑动、点击等)为其添加对应样式的选择器,且这个状态是根据用户行为而动态变化的。常用伪类有“:active”、“:hover”、“:link”、“:root”、“:valid”等等。本教程操...

  • 周排行
  • 月排行
  • 年排行

精彩推荐