整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

HTML的表单标签

TML:完成页面的内容展示

CSS:完成页面样式的控制,美化页面,完成页面的布局。

表单:用于采集用户输入的数据。用于和服务器进行交互。

form:用于定义表单的。可以定义一个范围(代表用户采集数据的范围)

属性:action:指定提交数据的url(指的就是把数据提交到哪里)

method:指定提交方式

分类:一共有7种,2种比较常用。

get:1.请求参数会在地址栏显示

2.请求参数的长度是有限制的。

3.请求不安全

post:1.请求参数不会在地址栏显示,会封装在请求体中。

2.请求参数的长度没有限制

3.较为安全

表单里面的数据要想被提交,必须指定它的name属性

表单项标签

input:可以通过type属性值,改变元素展示的样式。

type属性:text:文本输入框,默认值

placeholder:指定输入框的提示信息,当输入框的内容发生变化,会自动情况提示信息。

password:密码输入框

radio:1.单选框(要想让多个单选框实现单选的效果,则多个单选框的name属性值必须一样)

2.一般会给每一个单选框提供value属性,指定其被选中后提交的值。

3.checked属性可以指定默认值

checkbox:复选框:

1.一般会给每一个单选框提供value属性,指定其被选中后提交的值。

2.checked属性可以指定默认值

file:文件选择框

hidden:隐藏域,用于提交一些信息

按钮:

submit:提交按钮。可以提交表单

button:普通按钮

image:图片提交按钮

src属性指定图片的路径

label:指定输入项的文字描述信息

注意:lable的for属性一般会和input的id属性值对应。如果对应了,点击lable区域,会让input输入框获取焦点。


select:下拉列表

子元素:option,指定列表项

textarea:文本域

多数PHP程序都使用HTML表单从用户那里获取数据并计算结果。

HTML表单的一些基本原则

  • 选择适合于收集的数据类型和提供交互方式的控件。
  • 清楚标记每一个控件,这样用户就可以理解其功能。
  • 尽可能将标签对齐。将控件的左边缘对齐。
  • 将相关的标签分组,并且通过设计中使用空白将每一个分组分开。
  • 表单上的控件顺序应该类似于用户操作他们的顺序。

创建基本HTML表单

首先创造一个基本的HTML大纲,包含表单控件;然后将控件进行合并(HTML表单必须包括一个提交按钮,用户单击它可以将表单数据发送到服务器。)一个单独的HTML页面可以包含多个表单。

  • 创建HTML结构

包含表单的HTML结构和和普通的HTML结构一样。

<HTML>
  <HEAD>
  <TITLE>标题放在这</TITLE>
  </HEAD>
<BODY>
  表单页面放在这
  </BODY>
  </HTML>

在包含表单的HTML页面中可以使用任何HTML标签。基本的表单使用FROM标签来说明。该标签中METHOD属性接收GET或POST两个值中的一个。ACTION属性子明PHP脚本的url,该脚本可以收集通过表单收集的数据,可以是绝对路径或者相对路径

<FORM METHOD="method" ACTION="url"> 
  中间可以放置表单控件
  </FORM>
  • 合并控件

两个常用的基本控件:文本框和提交按钮。

文本框:允许用户键入信息以发送给PHP脚本。NAME属性为文本提供名称,PHP脚本可以通过名称准确访问其内容,因此它应该是唯一的且符合PHP变量命名规则(但不需要$符号),单标签。VALUE属性指明出现在提交按钮上面的标题。创建方式如下:

<INPUT TYPE = "TEXT" NAME="text">

提交按钮:允许用户将一个表单的内容发送到服务器,一个HTML表单对应应该有一个提交按钮。

示例:一个完整的HTML表单。

<HTML>
  <HEAD>
  <TITLE>标题</TITLE>
  </HEAD>
<BODY>
<FORM METHOD="POST" ACTION="phpinfo.php">
<INPUT TYPE="TEXT" NAME="user_name">
<BR/>
<BR/>
<INPUT TYPE="TEXT" NAME="user_email">
<BR/>
<BR/>
<INPUT TYPE="SUBMIT" VALUE="Send the Data">
</FORM>
  </BODY>
  </HTML>


  • 使用多个表单

可以在一个HTML页面中包含多个表单,注意下一个表单的FORM开始之前需要结束前一个FORM表单。

<HTML>
  <HEAD>
  <TITLE>标题</TITLE>
  </HEAD>
<BODY>
  
<FORM METHOD="POST" ACTION="phpinfo.php">
<INPUT TYPE="TEXT" NAME="user_name">
<BR/>
<BR/>
<INPUT TYPE="TEXT" NAME="user_email">
<BR/>
<BR/>
<INPUT TYPE="SUBMIT" VALUE="Send the Data">
<BR/>
<BR/>
</FORM>

<FORM METHOD="POST" NAME="phpinfo.php">
<INPUT TYPE="TEXT" NAME="user_name1">
<BR/>
<BR/>
<INPUT TYPE="TEXT" NAME="user_email1">
<BR/>
<BR/>
<INPUT TYPE="SUBMIT" VALUE="Send the Data1">
</FORM>

  </BODY>
  </HTML>


创建表单控件

  • 创建自定义的文本框

文本框的属性中,TYPE和NAME是必须的,其余是可选属性。SIZE属性用于设置文本框的可视大小;MAXLENGTH指明用户键入字符的最大长度;VALUE给出了一个最初显示在文本框中的值。

<input type="text" name="" size="" maxlength="" value="">
  • 创建文本区域

文本区域可以输入多行文本。NAME和ROWS属性是必须的。ROWS属性表明了文本区域内可以看到的文本行数,充满时会滚动。COLS属性指明可见文本列数与行数类似。WRAP属性指明文本区域内单词换行的方式,可以指定如下值。该标签为双标签。

说明

off

禁止单词换行但用户可以输入换行符强制换行

virtual/soft

各行显示为换行,但是换行并没有被发送到服务器

physica/hard

启用了单词换行

<inputarea name="" rows="" cols="" wrap="">
  • 创建密码框

创建密码框的语法与文本框相同,但要将TYPE属性指定为PASSWORD而不是TYPE。

<input type="password" name="" size="" maxlength="" value="">
  • 创建复选框

取两个值中的一个,即二选一。TYPE属性是必须的,checked属性出现,该复选框默认情况会被选定。value属性指定复选框被选定情况下被发送到服务器的值,默认发送on值。法如下:

<input type="checkbox" name="" checked value="">
  • 创建单选按钮

语法与复选框属性含义相同,但是TYPE属性的值必须是RADIO,NAME属性是必须的。

<input type="radio" name="" checked value="">
  • 创建列表框

用户可以选择一个或者多个选项,它是一个滚动菜单。

<select name="" multipile size="">options go here</select>

name属性是必须的,multipile属性指明用户可以通过按下crtl键并单击多个选项来选择它们

列表框的单选行为可作为单选按钮。

<option selected value="text"></options>
  • 创建隐藏域
<input type="hidden" name="text"value="">
  • 实现上传文件的HTML表单
<input type="FILE" name="name" accept="time" value="text">

其中type属性是必须的。格式通过使用MIME码指定。常用的格式如下:


超文本标记语言文本 .html,.html text/html

  普通文本 :txt text/plain

  word文档:application/msword

  RTF文本 :rtf application/rtf

  GIF图形 :gif image/gif

  JPEG图形 :jpeg,

  jpg: image/jpeg

  au声音文件:au audio/basic

  MIDI音乐文件 :mid,.midi audio/midi,audio/x-midi

  RealAudio音乐文件 .ra, .ram audio/x-pn-realaudio

  MPEG文件 .mpg,.mpeg video/mpeg

  AVI文件 .avi video/x-msvideo

  GZIP文件 .gz application/x-gzip

  压缩文件.rar application/octet-stream

  压缩文件.zip application/x-zip-compressed

  TAR文件 .tar application/x-tar


更多提交表单的信息

  • 使用图像提交数据
<input type="image" src="url" name="text" align="align">
  • 创建重置按钮
<input type="reset" value="text">

分享成果,随喜正能量】修学务早,及其精专,习与性成,不异自然也。值得我们用一生去学习的,就是学习什么该做,什么不该做,在自己心中画个圈,干了出圈的事情,伤害的是自己。。

《VBA信息获取与处理》教程是我推出第六套教程,目前已经是第一版修订了。这套教程定位于最高级,是学完初级,中级后的教程。这部教程给大家讲解的内容有:跨应用程序信息获得、随机信息的利用、电子邮件的发送、VBA互联网数据抓取、VBA延时操作,剪贴板应用、Split函数扩展、工作表信息与其他应用交互,FSO对象的利用、工作表及文件夹信息的获取、图形信息的获取以及定制工作表信息函数等等内容。程序文件通过32位和64位两种OFFICE系统测试。是非常抽象的,更具研究的价值。

教程共两册,八十四讲。今日的内容是专题八“VBA与HTML文档”:表单对象的提交与反馈

第七节 HTML DOM的对象事件及关联

HTML DOM 允许 JavaScript(脚本语言) 对 HTML 事件作出反应,当事件发生时,如当用户点击一个 HTML 元素时,可以执行 JavaScript。一般来讲这些事件包括:

用户点击鼠标时;网页已加载;图片已加载;鼠标移动到元素上;输入字段被改变;HTML 表单被提交;用户触发按键

在我的第五套教程《VBA中类的解读及应用》中我非常系统的讲解了事件的含义,事件主要是对象的响应,我们这节就几个实例给出几个对象的常用响应有的是事件本身,有的是相关的操作。

1 表单对象的提交与反馈

表单form对象,有一个方法比较重要,就是submit,这个方法提供了表单的提交的动作。如果我们捕捉页面的提交按钮非常困难时,有时候只要对表单,执行submit方法,表单也是可以提交的,不需去点击提交按钮。

表单控件,是文本输入类控件,最常用就是value的属性了,通过这个属性,可以往文本框里面添加文本。

单选框、复选框,常用的是checked属性,如果为true就是被选中了,或者直接使用click方法也行。

下拉列表,如果是单选列表框,可通过selectedIndex属性去设置选中项(下拉选项,从1开始编号,如2就是选择下拉列表的第二个选项),也可以通过value属性,直接把value指定为要选定的option的value即可,但多选列表框不可用这两个属性。另外,所有类别的列表框,都可以通过其内含对象集合options(),设置某个options(x)的selected属性为true,来设置选中项。

还是以百度首页为示例,我们用程序模拟键入查询数据“VBA代码解决方案”,然后提交查询,在网页中看看查询的结果:

Sub MYNZB() '在百度首页,提交表单

Dim ie, dmt, fm

Set ie = CreateObject("InternetExplorer.Application") '创建一个IE对象

With ie

.Visible = True '显示它

.navigate "http://www.baidu.com" '加载某个页面

Do Until .ReadyState = 4 '等待页面加载完毕

DoEvents

Loop

Set dmt = .document '将IE浏览器加载的页面文档,赋予dmt变量

Set fm = dmt.forms("f") '用表单的名称f,捕捉表单对象

dmt.all("kw").Value = "VBA代码解决方案" '用搜索栏的id"kw"捕捉它,并键入VBA代码解决方案

dmt.all.tags("input")(3).Click '用"百度一下"按钮的input索引号捕捉它,并模拟按钮的点击

'fm.submit '模拟表单的提交,不一定要click

End With

End Sub

代码截图:

网页返回的结果:

2 Table 对象数据的获取

表格对象,也是我们提取网页数据,最常打交道的对象了。其内含rows对象集合,可以使我们访问表格内的每行,每个row对象还内含cells对象集合,使我们可以访问其每行的每个单元格,读取每个单元格的innertext属性即可获取我们所需每个单元格的文本。

另外,常用的属性还有length,这个类似我们VBA里面的count,都是返回某个对象的数量。

如下面代码是提取实时股票涨跌的代码:

Sub MYNZC()

Sheets("Sheet1").Select

Cells.Clear

Dim ie, dmt, tb, i&, j&

Set ie = CreateObject("InternetExplorer.Application") '创建一个IE对象

With ie

'.Visible = True '显示它

.navigate "http://vip.stock.finance.sina.com.cn/mkt/#hqIndex" '加载某个页面

Do Until .ReadyState = 4 '等待页面加载完毕

DoEvents

Loop

Set dmt = .document '将IE浏览器加载的页面文档,赋予dmt变量

Set tb = dmt.all.tags("table")(4) '通过索引号捕捉表格对象

For i = 0 To tb.Rows.Length - 1 '历遍其每个行

For j = 0 To tb.Rows(i).Cells.Length - 1 '历遍每行的每个单元格

Cells(i + 1, j + 1) = tb.Rows(i).Cells(j).innertext '将其innertext写入单元格

Next

Next

End With

End Sub

代码截图:

返回的结果:

4 图片images对象地址的获取

为了提取网页中的图片,我们需要这个图片的链接,我们看看下面的代码:

Sub MYNZD()

Dim ie, dmt

Set ie = CreateObject("InternetExplorer.Application") '创建一个IE对象

With ie

.Visible = True '显示它

.navigate "https://baijiahao.baidu.com/s?id=1633425158454774294" '加载某个页面

Do Until .ReadyState = 4 '等待页面加载完毕

DoEvents

Loop

Set dmt = .document '将IE浏览器加载的页面文档,赋予dmt变量

Debug.Print dmt.images(1).src '读取图片的URL

End With

End Sub

代码截图:

5 Anchor 对象

文档中 <a> 标签每出现一次,就会创建 Anchor 对象。这个就没啥好示例的了,href属性返回被链接的URL,click可以模拟超链接被点击了。

这节涉及到的内容较多,希望大家在 的基础上修正代码加以使用。

本节知识点回向:

如何提交表单?如何下载图片的地址?如何获得表的数据?

本节参考文件:008工作表.xlsm

我20多年的VBA实践经验,全部浓缩在下面的各个教程中,教程学习顺序:


【分享成果,随喜正能量】在外的好脾气,是为人的圆滑,让你收获好人缘;在家的好脾气,是最贵的修养,让你你收获最好的幸福!。