页面表单处理方法、装置、计算机设备及存储介质与流程

文档序号:17477752发布日期:2019-04-20 06:14阅读:122来源:国知局
页面表单处理方法、装置、计算机设备及存储介质与流程

本发明涉及计算机技术领域,尤其涉及一种页面表单处理方法、装置、计算机设备及存储介质。



背景技术:

随着互联网技术的不断发展,浏览器产品不仅种类繁多,而且版本更新频繁。由于信息技术更新迅速,新产品往往很难兼容旧产品的设计;摒弃一些旧的软件库,取而代之为更高效更简洁的版本,是众多浏览器产品提供商不得不采取的策略,同时,基于浏览器的web开发也在不断跟进新的浏览器技术,这为仍在服役的老旧web系统带来各种兼容性问题。

例如,很多浏览器应用页面提供用户信息输入的功能,用户通过浏览器应用页面提供的输入框控件输入相关信息,浏览器使用本地缓存的javascript脚本对应用页面的form表单进行解析后,将解析得到的表单数据提交到后台服务端进行进一步处理。然而,在有些应用场景中,输入框控件的名称不是固定的,需要通过javascript脚本根据应用的需要进行动态设置,以确保与服务端约定的名称一致。但是,由于浏览器版本之间的兼容性问题,对于低版本的浏览器在通过javascript脚本对控件名称的属性值进行动态设置后,控件名称会发生变化,导致服务端无法通过约定的控件名称属性值获取到对应的控件值。

例如,对<inputtype=“text”name=“username”value=“zhangsan”>这一input控件,当通过javascript脚本的命令input.setattribute('name',personname),动态改变input控件的控件名称name的属性值时,在低于ie8的浏览器版本中,该控件名称会变成submitname,即变成<inputtype=“text”submitname=“personname”value=“zhangsan”>,但由于javascript脚本在对该控件解析时仍然是按照原有的控件名称进行解析,导致无法向服务端传递personname=“zhangsan”的表单数据,造成服务端通过request.getparameter(“personname”)获取该表单数据失败。



技术实现要素:

本发明实施例提供一种表单页面处理方法、装置、计算机设备及存储介质,以解决在低版本浏览器中对控件名称的属性值进行动态设置时控件名称发生改变,导致表单数据解析错误,服务端无法正确获取表单数据的问题。

一种表单页面处理方法,包括:

若检测到用户通过浏览器页面触发表单提交的操作,则获取所述浏览器的版本信息;

若所述版本信息满足预设的版本兼容要求,则获取待提交表单中的表单控件;

根据预设的控件数据表中预存的每个浏览器版本中控件名称在动态设置前后的变化关系,对每个所述表单控件的控件名称进行检查,若所述表单控件的控件名称为动态设置后的控件名称,则将该表单控件作为待处理控件,将所述动态设置后的控件名称作为目标控件名称,以及将所述目标控件名称在动态设置前的控件名称作为源控件名称;

将所述待处理控件中对所述目标控件名称的属性定义替换为对所述源控件名称的属性定义,得到更新后的所述待提交表单;

对更新后的所述待提交表单进行解析,并将解析得到的表单数据发送到服务端。

一种表单页面处理装置,包括:

版本获取模块,用于若检测到用户通过浏览器页面触发表单提交的操作,则获取所述浏览器的版本信息;

控件获取模块,用于若所述版本信息满足预设的版本兼容要求,则获取待提交表单中的表单控件;

检查模块,用于根据预设的控件数据表中预存的每个浏览器版本中控件名称在动态设置前后的变化关系,对每个所述表单控件的控件名称进行检查,若所述表单控件的控件名称为动态设置后的控件名称,则将该表单控件作为待处理控件,将所述动态设置后的控件名称作为目标控件名称,以及将所述目标控件名称在动态设置前的控件名称作为源控件名称;

更新模块,用于将所述待处理控件中对所述目标控件名称的属性定义替换为对所述源控件名称的属性定义,得到更新后的所述待提交表单;

解析模块,用于对更新后的所述待提交表单进行解析,并将解析得到的表单数据发送到服务端。

一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述表单页面处理方法的步骤。

一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述表单页面处理方法的步骤。

上述表单页面处理方法、装置、计算机设备及存储介质中,若检测到用户通过浏览器页面触发表单提交的操作,则获取浏览器的版本信息,并在该版本信息满足预设的版本兼容要求时,根据预设的控件数据表中预存的每个浏览器版本中控件名称在动态设置前后的变化关系,对待提交表单中的表单控件的控件名称进行检查,若表单控件的控件名称为动态设置后的控件名称,则按照控件数据表中预存的变化关系,将该表单控件中对动态设置后的控件名称的属性定义替换为对动态设置前的控件名称的属性定义,得到更新后的待提交表单,使得在对更新后的待提交表单进行解析时,能够准确解析出表单数据并发送到服务端,实现了在不兼容的浏览器版本中对控件名称的属性值进行动态设置时,规避控件名称改变导致的表单数据解析错误,从而使得服务端能够正确且便捷地获取表单数据,提高对不兼容的浏览器版本的兼容能力。同时,使得老旧的web系统不需要重新设计开发,节省了开发成本。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本发明一实施例中页面表单处理方法的一应用环境示意图;

图2是本发明一实施例中页面表单处理方法的一流程图;

图3是本发明一实施例中页面表单处理方法中步骤s4的一流程图;

图4是本发明一实施例中页面表单处理方法的步骤s1中获取浏览器的版本信息的一流程图;

图5是本发明一实施例中页面表单处理方法中步骤s5的一流程图;

图6是本发明一实施例中页面表单处理装置的一示意图;

图7是本发明一实施例中计算机设备的一示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本申请提供的页面表单处理方法,可应用在如图1所示的应用环境中,该应用环境包括服务端和客户端,其中,服务端和客户端之间通过网络进行连接,该网络可以是有线网络或者无线网络,客户端具体包括但不限于各种个人计算机、笔记本电脑、智能手机和平板电脑和便携式可穿戴设备,服务端具体可以用独立的服务器或者多个服务器组成的服务器集群实现。客户端根据浏览器的版本信息对待提交表单进行兼容性处理,并将解析后的表单数据发送到服务端,以使服务端能够正确获取表单数据。

在一实施例中,如图2所示,提供一种页面表单处理方法,以该方法应用在图1中的客户端为例进行说明,详述如下:

s1:若检测到用户通过浏览器页面触发表单提交的操作,则获取浏览器的版本信息。

具体地,在用户根据浏览器页面提供的输入控件输入相关信息的场景中,比如登录页面或者注册页面,用户在输入控件中输入登录信息或者注册信息后,点击对应的提交按钮时,即触发表单提交的操作,客户端检测到该触发表单提交的操作时,获取浏览器的版本信息。

浏览器的版本信息是浏览器产品提供商用以告知用户当前使用的浏览器所提供的功能的相关信息。例如,微软公司的ie11浏览器的版本信息为ie11.1198.14393.0,谷歌公司的chrome浏览器的版本信息为chrome69.0.3497.100,开源浏览器firefox的版本信息为firefox61.0.2。其中,第一个小数点之前的数字表示当前浏览器的大版本号,大版本号是用来区分浏览器是否支持某项功能的主要标识信息。

获取浏览器的版本信息可以通过执行预设的javascript脚本来实现。javascript脚本是一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为javascript引擎,其作为浏览器的一部分,广泛用于客户端,通常用于给html网页增加动态功能。

s2:若浏览器的版本信息满足预设的版本兼容要求,则获取待提交表单中的表单控件。

具体地,预设的版本兼容要求是用于判断是需要对当前浏览器的待提交表单进行兼容性处理的依据。例如,预设的版本兼容要求可以是低于ie8的浏览器版本。

根据步骤s1获取到的当前的浏览器的版本信息,判断该版本信息是否满足预设的版本兼容要求,以版本兼容要求为低于ie8的浏览器版本为例,若当前的浏览器的版本号为ie6,则确认该浏览器的版本信息满足该预设的版本兼容要求,并获取待提交表单中的表单控件。

待提交表单具体可以是form表单,在网页中主要负责数据采集功能,其通常由表单标签、表单域和表单按钮三个部分组成,其中,表单域中包含了文本框、密码框、复选框、单选框、下拉选择框和文件上传框等表单控件。每个表单控件包括控件类型、控件名称和控件值。例如,<inputtype=“text”name=“username”value=“zhangsan”>即为文本框输入控件,其中,控件类型为text,控件名称为username,控件值为zhangsan。

s3:根据预设的控件数据表中预存的每个浏览器版本中控件名称在动态设置前后的变化关系,对每个表单控件的控件名称进行检查,若表单控件的控件名称为动态设置后的控件名称,则将该表单控件作为待处理控件,将动态设置后的控件名称作为目标控件名称,以及将目标控件名称在动态设置前的控件名称作为源控件名称。

具体地,当用户通过浏览器应用页面提供的输入框控件输入相关信息后,客户端的浏览器使用本地缓存的javascript脚本对应用页面的form表单进行解析,并将解析得到的表单数据提交到服务端进行进一步处理。由于在一些应用场景中,输入框控件的控件名称不是固定的,需要通过javascript脚本根据应用的需要对控件名称的属性值进行动态设置,以确保与服务端约定的名称一致。但因为浏览器版本之间的兼容性问题,会导致在某些低版本的浏览器中,当通过javascript脚本对控件名称的属性值进行动态设置后,控件名称发生变化。预设的控件数据表中预先保存的即为不同的浏览器版本中控件名称在动态设置前后的变化关系,即动态设置控件名称的属性值之前的控件名称和动态设置控件名称的属性值之后的控件名称之间的映射关系。

可以理解的,在控件数据表可以包括版本信息、控件类型、动态设置控件名称的属性值之前的控件名称,以及动态设置控件名称的属性值之后的控件名称等字段。

例如,对<inputtype=“text”name=“username”value=“zhangsan”>这一input控件,在ie6版本中当动态设置name的属性值时,控件名称name会变成submitname,即input控件变成<inputtype=“text”submitname=“personname”value=“zhangsan”>,因此,在控件数据表中保存有ie6版本input控件的控件名称name和submitname之间的映射关系,即控件数据表的一条数据记录可以如下表所示:

在预设的控件数据表中查询当前的浏览器的版本信息对应的数据记录,将控件数据表中动态设置控件名称的属性值之后的控件名称这一字段作为目标字段,在查询到的数据记录中获取目标字段的值,通过对每个表单控件进行遍历,若在查询到的数据记录中包含该表单控件的控件类型,则进一步检查在该表单控件的控件类型对应的目标字段的值中,是否存在表单控件的控件名称,若在获取到的目标字段的值中存在表单控件的控件名称,则将该表单控件作为待处理控件,将该表单控件的控件名称,即动态设置后的控件名称作为目标控件名称,并且在控件数据表查询到的数据记录中,从目标控件名称所在的记录中获取动态设置控件名称的属性值之前的控件名称这一字段的值,作为源控件名称。

需要说明的是,若每个表单控件的控件名称均没有在控件数据表中查询到对应的记录,则确认对待提交表单不需要进行兼容处理,直接执行步骤s5中对待提交表单进行解析和发送的处理过程。

s4:将待处理控件中对目标控件名称的属性定义替换为对源控件名称的属性定义,得到更新后的待提交表单。

具体地,根据步骤s3确定的源控件名称和目标控件名称,将待处理控件中原有的对目标控件名称的属性定义删除,并使用对源控件名称的属性定义进行替换,在对待提交表单中国的每个待处理控件均完成属性定义的替换处理后,得到更新后的待提交表单。

例如,若待处理控件为<inputtype=“text”submitname=“personname”value=“zhangsan”>,其中,submitname为目标控件名称,其对应的源控件名称为name,则将该待处理控件中对submitname的属性定义submitname=“personname”删除,并使用name=“personname”进行替换,得到的更新后的待提交表单中该待处理控件更新为<inputtype=“text”name=“personname”value=“zhangsan”>。

s5:对更新后的待提交表单进行解析,并将解析得到的表单数据发送到服务端。

本实施例中,根据步骤s4得到的更新后的待提交表单,对该待提交表单进行解析,获取该待提交表单中每个控件的值,得到key-value形式的表单数据,并提交给服务端。其中,key为控件名称,value为控件名称的属性值。

例如:对<inputtype=“text”name=“username”value=“zhangsan”>这一控件解析后得到的控件值为:username=zhangsan。

本实施例中,若检测到用户通过浏览器页面触发表单提交的操作,则获取浏览器的版本信息,并在该版本信息满足预设的版本兼容要求时,根据预设的控件数据表中预存的每个浏览器版本中控件名称在动态设置前后的变化关系,对待提交表单中的表单控件的控件名称进行检查,若表单控件的控件名称为动态设置后的控件名称,则按照控件数据表中预存的变化关系,将该表单控件中对动态设置后的控件名称的属性定义替换为对动态设置前的控件名称的属性定义,得到更新后的待提交表单,使得在对更新后的待提交表单进行解析时,能够准确解析出表单数据并发送到服务端,实现了在不兼容的浏览器版本中对控件名称的属性值进行动态设置时,规避控件名称改变导致的表单数据解析错误,从而使得服务端能够正确且便捷地获取表单数据,提高对不兼容的浏览器版本的兼容能力。同时,使得老旧的web系统不需要重新设计开发,节省了开发成本。

在一实施例中,如图3所示,在步骤s4中,将待处理控件中对目标控件名称的属性定义替换为对源控件名称的属性定义,得到更新后的待提交表单,具体包括如下步骤:

s41:在待处理控件中,获取目标控件名称的属性值,并删除对目标控件名称的属性定义。

具体地,在待处理控件中,从目标控件名称的属性定义中获取目标控件名称的属性值,并将该属性值进行临时缓存,同时,删除对目标控件名称的属性定义。

例如,对<inputtype=“text”submitname=“personname”value=“zhangsan”>这一input待处理控件,submitname目标控件名称,其对应的源控件名称为name。为在javascript脚本中,可以使用input.removeattribute('submitname')删除对目标控件名称submitname的属性定义,删除后的该待处理控件为:<inputtype=“text”value=“zhangsan”>,同时,缓存submitname的属性值personname。

s42:在待处理控件中新增对预设的基础控件名称的属性定义,将目标控件名称的属性值赋值给基础控件名称。

具体地,在删除目标控件名称的属性定义的基础上,新增对预设的基础控件名称的属性定义,在该属性定义中将步骤s41缓存的目标控件名称的属性值作为基础控件名称的属性值。

继续以步骤s42中的input待处理控件为例进行说明,删除后的该待处理控件为:<inputtype=“text”value=“zhangsan”>,若预设的基础控件名称为title,则使用input.setattribute('title',personname)新增对title的属性定义,将personname赋值给title,作为title的属性值,新增后的该待处理控件为:<inputtype=“text”title=“personname”value=“zhangsan”>。

s43:将待处理控件中的基础控件名称替换为源控件名称。

具体地,在新增对基础控件名称的属性定义的基础上,将该基础控件名称替换为源控件名称。

继续以步骤s43中的input待处理控件为例进行说明,新增后的该待处理控件为:<inputtype=“text”title=“personname”value=“zhangsan”>,将title替换为源控件名称name,则替换后的该待处理控件为:<inputtype=“text”name=“personname”value=“zhangsan”>。

本实施例中,通过在待处理控件中获取目标控件名称的属性值,并删除对目标控件名称的属性定义,在此基础上新增对预设的基础控件名称的属性定义,并将目标控件名称的属性值赋值给基础控件名称,之后使用源控件名称替换该基础控件名称,实现了对控件名称的快速便捷替换,尤其是在javascript中能够直接调用封装函数完成替换处理的过程,简便快捷,通用性强。

在一实施例中,版本信息包括浏览器类型和浏览器版本号。

其中,浏览器类型用于标识浏览器的产品名称,浏览器版本号为具体的产品版本编号。例如,版本信息ie11.1198.14393.0的浏览器类型为ie,浏览器版本号为11.1198.14393.0,谷歌公司的chrome浏览器的版本信息chrome69.0.3497.100,其浏览器类型为chrome,浏览器版本号为69.0.3497.100,开源浏览器firefox浏览器的版本信息firefox61.0.2,其浏览器类型为firefox,浏览器版本号为61.0.2。

进一步地,如图4所示,在步骤s1中,获取浏览器的版本信息,具体包括如下步骤:

s11:获取浏览器的用户代理字符串。

具体地,用户代理(useragent,ua)字符串是一个特殊字符串,通过用户代理字符串能够获取操作系统及版本、cpu类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等信息。

在javascript中,使用函数navigator.useragent()即可获取浏览器的用户代理字符串。例如,以ie11浏览器为例,通过调用navigator.useragent(),得到的浏览器的用户代理字符串为:ie/11.1198.14393.0。

s12:按照用户代理字符串预设的信息结构,从用户代理字符串中提取浏览器型号和浏览器版本号。

具体地,根据步骤s11得到的用户代理字符串,按照预设的信息结构对该用户代理字符串进行解析,从该用户代理字符串中提取对应的浏览器型号和浏览器版本号。

例如,若用户代理字符串为:ie/11.1198.14393.0,则按照预设的“*/*”的信息结构,将该用户代理字符串“/”前的子串作为浏览器型号,将该用户代理字符串“/”后的子串作为浏览器版本号。

需要说明的是,由于在浏览器版本号中,第一个小数点之前的数字表示浏览器的大版本号,通常,大版本号是用来区分浏览器是否支持某项功能的主要标识信息,因此,在提取浏览器版本号时,也可以根据应用的需要提取第一个小数点之前的数字,例如,对用户代理字符串:ie/11.1198.14393.0,可以根据应用的需要提取浏览器版本号为11。

本实施例中,通过获取浏览器的用户代理字符串,并按照预设的信息结构对用户代理字符串进行解析,得到浏览器型号和浏览器版本号,实现方式简单通用,并且结果准确。

在一实施例中,在步骤s2中,若浏览器的版本信息满足预设的版本兼容要求,则获取待提交表单中的表单控件,具体包括如下步骤:

若浏览器类型属于预设的目标浏览器,并且浏览器版本号小于预设的版本号阈值,则获取待提交表单中的表单控件。

具体地,根据步骤s12得到的浏览器类型和浏览器版本号,当浏览器类型属于预设的目标浏览器,并且浏览器版本号小于预设的版本号阈值时,确认需要对待提交表单进行兼容处理,获取待提交表单中的表单控件。

本实施例中,由于不同浏览器产品对浏览器版本的编号方式不同,并且在不同浏览器产品中对控件名称的属性值进行动态设置的兼容性问题也可能不同,因此,通过浏览器类型和浏览器版本号综合判断是否需要对待提交表单进行兼容处理,能够更加合理的得到判断结果,准确识别不兼容的浏览器版本。

在一实施例中,如图5所示,在步骤s5中,对更新后的待提交表单进行解析,并将解析得到的表单数据发送到服务端,具体包括如下步骤:

s51:按照预设的验证条件,对更新后的待提交表单的内容进行有效性验证。

具体地,在提交表单数据前,需要对更新后的待提交表单中的内容,尤其是用户通过输入框输入的信息,进行有效性验证,以确保内容有效。

有效性验证的内容包括但不限于对输入字符串的长度的验证,对字符串格式的验证,对屏蔽关键字的验证,以及对字符串内容合法性的验证等。其中,对字符串格式的验证包括对邮箱、注册名、密码等各种输入字符串的格式验证,对字符串内容合法性的验证包括对两次密码是否一致、邮件地址是否合法、中文名称或者英文名称是否合法等。

预设的验证条件具体根据实际应用的需要进行设置,此处不做限制,例如,输入的密码长度不小于6位字符等。

s52:若有效性验证通过,则从更新后的待提交表单的表单标签中获取服务端的接收地址信息,并按照更新后的待提交表单中每个表单控件的类型,对每个表单控件的内容进行解析,得到每个表单控件对应的控件内容。

具体地,若步骤s51的有效性验证通过,则确认更新后的待提交表单中的内容合法有效,能够被提交到服务端进行处理。更新后的待提交表单包括表单标签、表单域和表单按钮三个部分,其中,表单标签包含了服务端处理表单数据所用通用网管接口(commongatewayinterface,cgi)程序的统一资源定位符(uniformresourcelocator,url),以及将表单数据提交到服务器的提交方式。

从更新后的待提交表单的表单标签中获取url,即服务端的接收地址信息。例如,表单标签为:<action="http://wichkelysmart.com/hfhtmlcss/contest.php"method="post">,则获取到的接收地址信息为http://wichkelysmart.com/hfhtmlcss/contest.php,即需要将表单数据提交给wichkelysmart.com链接内的hftmlcss文件夹中的contest.php脚本进行处理。

按照更新后的待提交表单中每个表单控件的类型,对每个表单控件的内容进行解析,得到每个表单控件对应的key-value形式的控件内容。

例如,对<inputtype=“text”name=“username”value=“zhangsan”>这一text类型的input表单控件,按照text类型对应的控件属性定义,text类型对应的控件属性包括name和value,对该表单控件的内容进行解析,得到key-value形式的控件内容,key为username,value为zhangsan,即解析得到该表单控件对应的控件内容为username=zhangsan。

s53:将每个表单控件对应的控件内容组成表单数据,并将表单数据发送到接收地址信息对应的位置。

具体地,按照预设的组合方式,将步骤s52得到的每个表单控件的控件内容序列化成字符串,生成表单数据,例如,在javascript中可以使用querystring.stringify()实现序列化字符串,得到表单数据。

将表单数据发送到步骤s52获取到的接收地址信息对应的位置,以使服务端在该接收地址信息的处理脚本对表单数据进行接收和处理。

本实施例中,按照预设的验证条件,对更新后的待提交表单的内容进行有效性验证,通过有效性验证确保更新后的待提交表单中的内容合法有效,能够被提交到服务端进行处理,使得原本需要在服务端进行的校验,通过简单的javascript代码就可以分散到每个客户端进行,并能够实现同样的效果,从而降低服务端的运行负荷,提高服务端的执行效率;在有效性验证通过后,从更新后的待提交表单的表单标签中获取服务端的接收地址信息,并将每个表单控件的内容解析成key-value形式的控件内容,对控件内容进行序列化成字符串,生成表单数据,将表单数据发送到接收地址信息对应的位置,通过将控件内容序列化成字符串的方式进行传递,有效提高传输效率,同时序列化的方式在一定程度上也能提高保单数据的传输安全性。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

在一实施例中,提供一种页面表单处理装置,该页面表单处理装置与上述实施例中页面表单处理方法一一对应。如图6所示,该页面表单处理装置包括版本获取模块61、控件获取模块62、检查模块63、更新模块64和解析模块65。各功能模块详细说明如下:

版本获取模块61,用于若检测到用户通过浏览器页面触发表单提交的操作,则获取浏览器的版本信息;

控件获取模块62,用于若浏览器的版本信息满足预设的版本兼容要求,则获取待提交表单中的表单控件;

检查模块63,用于根据预设的控件数据表中预存的每个浏览器版本中控件名称在动态设置前后的变化关系,对每个表单控件的控件名称进行检查,若表单控件的控件名称为动态设置后的控件名称,则将该表单控件作为待处理控件,将动态设置后的控件名称作为目标控件名称,以及将目标控件名称在动态设置前的控件名称作为源控件名称;

更新模块64,用于将待处理控件中对目标控件名称的属性定义替换为对源控件名称的属性定义,得到更新后的待提交表单;

解析模块65,用于对更新后的待提交表单进行解析,并将解析得到的表单数据发送到服务端。

进一步地,更新模块64包括:

删除子模块641,用于在待处理控件中,获取目标控件名称的属性值,并删除对目标控件名称的属性定义;

新增子模块642,用于在待处理控件中新增对预设的基础控件名称的属性定义,将目标控件名称的属性值赋值给基础控件名称;

替换子模块643,用于将待处理控件中的基础控件名称替换为源控件名称。

进一步地,版本信息包括浏览器类型和浏览器版本号,版本获取模块61包括:

用户代理获取子模块611,用于获取浏览器的用户代理字符串;

提取子模块612,用于按照用户代理字符串预设的信息结构,从用户代理字符串中提取浏览器类型和浏览器版本号。

进一步地,控件获取模块62还用于:

若浏览器类型属于预设的目标浏览器,并且浏览器版本号小于预设的版本号阈值,则获取待提交表单中的表单控件。

进一步地,解析模块65包括:

验证子模块651,用于按照预设的验证条件,对更新后的待提交表单的内容进行有效性验证;

内容解析子模块652,用于若有效性验证通过,则从更新后的待提交表单的表单标签中获取服务端的接收地址信息,并按照更新后的待提交表单中每个表单控件的类型,对每个表单控件的内容进行解析,得到每个表单控件对应的控件内容;

组装发送子模块653,用于将每个表单控件对应的控件内容组成表单数据,并将表单数据发送到接收地址信息对应的位置。

关于页面表单处理装置的具体限定可以参见上文中对于页面表单处理方法的限定,在此不再赘述。上述页面表单处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部服务器通过网络连接通信。该计算机程序被处理器执行时以实现一种页面表单处理方法。

在一实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例页面表单处理方法的步骤,例如图1所示的步骤s1至步骤s5,或者,处理器执行计算机程序时实现上述实施例中页面表单处理装置的各模块/单元的功能,例如图6所示模块61至模块65的功能。为避免重复,此处不再赘述。

在一实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例中页面表单处理方法,或者,该计算机程序被处理器执行时实现上述装置实施例中页面表单处理装置中各模块/单元的功能。为避免重复,此处不再赘述。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。

以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1