自动化页面表单数据的恢复方法及装置与流程

文档序号:13207565阅读:346来源:国知局
自动化页面表单数据的恢复方法及装置与流程

本发明涉及信息处理技术领域,特别涉及一种自动化页面表单数据的恢复方法及装置。



背景技术:

在线系统中,用户在录入页面录入了的表单的数据,再点“提交”后,系统会跳转到一个新的确认页面,让客户确认刚才录入数据的正确性。如果用户发现录入数据有误,需要返回录入页面修改,此时用户点击“返回”按钮后,系统将跳转回到刚才录入数据的页面。由于经过浏览器的跳转后,此时录入页面已是一个全新的页面,并没有保留用户之前输入的数据,出于系统易用性考虑,如何把客户已经输入的数据回填到录入页面的表单中一直是人们在不断研究的问题。



技术实现要素:

本发明实施例提供了一种自动化页面表单数据的恢复方法,以解决现有技术中无法将客户已经输入的数据回填到录入页面的表单中的技术问题。该方法包括:在录入页面上的表单完成数据录入后且所述录入页面触发提交指令之前,按照预设顺序获取所述表单的录入数据,存储所述录入数据;在确认页面触发返回指令,由所述确认页面跳转到所述录入页面时,提取所述录入数据,按照所述预设顺序将所述录入数据填回所述表单。

本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述自动化页面表单数据的恢复方法。

本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述自动化页面表单数据的恢复方法的计算机程序。

本发明实施例还提供了一种自动化页面表单数据的恢复装置,以解决现有技术中无法将客户已经输入的数据回填到录入页面的表单中的技术问题。该装置包括:数据存储模块,用于在录入页面上的表单完成数据录入后且所述录入页面触发提交指令之前,按照预设顺序获取所述表单的录入数据,存储所述录入数据;数据回填模块,用于在确认页面触发返回指令,由所述确认页面跳转到所述录入页面时,提取所述录入数据,按照所述预设顺序将所述录入数据填回所述表单。

在本发明实施例中,通过在录入页面触发提交指令之前,按照预设顺序获取录入页面上的表单完成数据录入的录入数据,并存储该录入数据,在确认页面触发返回指令,由确认页面跳转到录入页面时,提取上述录入数据,按照预设顺序将上述录入数据填回录入页面的表单。使得在确认页面上用户“点击”返回按钮时,系统能够自动恢复与还原用户原来在录入页面录入的数据,用户只需要在此基础上修改便可以了,不需要重新录入这些数据,有利于大大提高系统的数据处理效率。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。在附图中:

图1是本发明实施例提供的一种自动化页面表单数据的恢复方法的流程图;

图2是本发明实施例提供的一种采用上述自动化页面表单数据的恢复方法还原的录入页面的效果示意图;

图3是本发明实施例提供的一种自动化页面表单数据的恢复装置的结构框图;

图4是本发明实施例提供的一种自动化页面表单数据的恢复装置在系统中的应用示意图;

图5是本发明实施例提供的一种自动化页面表单数据的恢复装置的组成结构图;

图6是本发明实施例提供的一种自动化页面表单数据的恢复装置的工作流程图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对本发明做进一步详细说明。在此,本发明的示意性实施方式及其说明用于解释本发明,但并不作为对本发明的限定。

在本发明实施例中,提供了一种自动化页面表单数据的恢复方法,如图1所示,该方法包括:

步骤101:在录入页面上的表单完成数据录入后且所述录入页面触发提交指令之前,按照预设顺序获取所述表单的录入数据,存储所述录入数据;

步骤102:在确认页面触发返回指令,由所述确认页面跳转到所述录入页面时,提取所述录入数据,按照所述预设顺序将所述录入数据填回所述表单。

由图1所示的流程可知,在本发明实施例中,通过在录入页面触发提交指令之前,按照预设顺序获取录入页面上的表单完成数据录入的录入数据,并存储该录入数据,在确认页面触发返回指令,由确认页面跳转到录入页面时,提取上述录入数据,按照预设顺序将上述录入数据填回录入页面的表单。使得在确认页面上用户“点击”返回按钮时,系统能够自动恢复与还原用户原来在录入页面录入的数据,用户只需要在此基础上修改便可以了,不需要重新录入这些数据,有利于大大提高系统的数据处理效率。

具体实施时,上述自动化页面表单数据的恢复方法可以用于网上银行、网上商城、在线考试系统、在线申报系统等在线系统中,具体的,该自动化页面表单数据的恢复方法可以通过在用户浏览器端的一个隐藏的javascript对象来实现,名字叫persistdata,这个对象拥有表单数据的获取方法、数据存储区和表单数据的还原方法。此对象位于在线系统中的框架层,即提交页面跳转到确认页面后,此对象依然保留在浏览器的内存中,不会被浏览器销毁。

具体的,在录入页面提交表单之前,上述自动化页面表单数据的恢复方法可以通过调用一句代码:“persistdata.saveform(‘inputform’)”,将录入页面表单元素中所有元素数据打包后保存到存储装置中。在确认页面点击“返回”按钮时,无需把数据从确认页面传回到录入页面,仅需要传回一个“是否返回的标志”,录入页面得到这个标志后,如果是从返回页面跳转过来的,则可以再调用一句代码:“persistdata.restoreform(‘inputform’)”,实现自动解析录入页面的所有表单元素,逐个获取到当前表单元素的值,自动的回填到此表单元素中,并触发此表单元素的相应事件函数,然后继续恢复下一个表单元素和调用事件函数,直到整个表单元素全部还原到客户之前录入时的状态,如图2所示。

具体实施时,为了确保数据回填的准确性,在本实施例中,所述预设顺序是在所述录入页面上从上到下的顺序,或者所述预设顺序是为所述录入页面中的表单元素划分优先级,为每个优先级中的各个表单元素设置先后顺序。

具体的,比如,在线购物网站设置地址的表单,是按照省、市、区的从上到下的顺序来选择和联动的。即如果当前交易的表单是满足这种常规顺序的,则所述预设顺序可以采用在所述录入页面上从上到下的顺序。但针对某些特殊的表单,下面元素数据的变动会影响到上面元素的数据。针对这样的场景,可以设置表单元素的优先级和先后顺序。例如,优先级分成三种类型:高优先级、中优先级、低优先级。同一种优先级,还能再设置各表单元素的先后顺序。所以在实际的存储表单数据的过程中,可以按照交易的特殊情况,设置表单元素的优先级和顺序。

具体实施时,在本实施例中,存储所述录入数据,包括:将所述录入数据存储到用户的浏览器端。具体的,可以把录入数据存储到用户的浏览器端,无须上传到服务器端。存储区域可以选择在线系统的框架层,比如,菜单区域的浏览器内存中。一般从提交页面跳转到确认页面时,虽然提交页面会被销户,但是菜单区域的内存只是状态的变化,并不会被销户,这样做可以兼容几乎所有浏览器的版本。当然,也可以选择把录入数据存储到浏览器的cookie中,对于支持html5的浏览器,还可以存储到sessionstorage和localstorage中。所以本申请并不需要限定必须将录入数据存储到特定的内存区域。

具体实施时,为了实现获取上述录入数据,在本实施例中,按照所述预设顺序获取所述表单的录入数据,包括:按照所述预设顺序解析所述表单的所有的表单元素,获取各表单元素的类型;针对各表单元素的类型调用与类型对应的取值函数,获取各表单元素的元素值;将所有表单元素的元素值和该元素值对应的表单标识组成数据结构,得到所述录入数据。

具体的,页面的表单元素表现形式较多,一个表单可能存在近十种表单元素类型,本申请可以选择处理select、textarea和input三种类型,因为在线系统中近99%的元素都是这三种类型,例如,可以选择使用以下的语句来解析select、textarea和input这三种的型的表单元素,另外由于input类型是一个大类,需要排除掉其中不需要存储的button、rest、submit、image等表单元素:“container.find('input[type!=button][type!=reset][type!=submit][type!=image][type!=file],select,textarea'))”,运用排除法加包含法可得到表单下的表单元素集合。通过使用此方法循环判断满足以上container.find条件的表单元素后,逐个循环解析,得到页面逐个表单的元素id和其对应的值。

语句说明:button(普通按钮)、rest(重置按钮)、submit(提交按钮)、image(图片)这些类型无需保存,file(文件上传控件)由于浏览器安全规范不允许保存。

具体的,得到各表单元素的元素值和该元素值对应的表单标识后,每条数据只需要将表单元素的元素值和该元素值对应的表单id标识组成数据结构进行存储。

具体实施时,获得录入数据之后,在本实施例中,由所述确认页面跳转到所述录入页面时,提取所述录入数据,按照所述预设顺序将所述录入数据填回所述表单,包括:按照所述预设顺序解析跳转到的所述录入页面的所有表单元素,根据解析到的表单元素的标识从存储的所述录入数据中获取各表单元素的标识对应的元素值;按照所述预设顺序对各表单元素逐个执行以下回填步骤:针对当前表单元素,根据该当前表单元素的类型调用对应的表单设值函数,将该当前表单元素的元素值填回跳转到的所述录入页面中;并触发该当前表单元素绑定的事件函数。

具体的,在交易从确认页面跳回到录入页面时,先对新页面的表单元素重新解析。解析后得到新的录入页面的表单元素集合,循环此表单元素集合,根据元素id,从存储的录入数据中得到此表单元素的元素值,根据该表单元素的类型,调用不同类型的表单设值函数为此表单元素赋值,实现该表单元素的数据回填。

在对某个表单元素调用了表单设值函数之后,紧接着要立即调用此表单元素的相关事件函数,才能继续回填下一个表单元素的值。因为录入页面的表单元素可能预先绑定了一个或多个事件函数,而此事件函数的执行可能会影响下一个表单元素的初始值,下一个表单元素的初始值,可能是在上一个表单元素的事件函数中生成的,所以在回填当前表单元素的值后,还需要触发该当前表单元素的onclick(点击)、onchange(变更)、onblur(失去焦点)等事件函数,然后再继续还原下一表单元素。例如,在还原“省、市、区”地址类的表单元素时,在还原了省的表单元素的值后,必须调用省表单元素的事件处理函数,在函数中重新生成市的初始值后,才能继续还原表单元素市的值。该事件处理单元默认处理:click(点击事件)、change(变更事件)、blur(失去焦点事件)。

具体实施时,为适应个性化数据需要,在本实施例中,所述录入页面中的表单元素包括在线系统自定义的表单元素。

具体的,相对于浏览器标准的表单元素,一些较新的录入页面的表单元素并不是传统的浏览器标准的表单元素,而是扩展的表单元素,即在线系统自定义的表单元素,如果定义了取值函数、赋值函数和事件函数,针对该自定义的表单元素的数据恢复也可以采用上述自动化页面表单数据的恢复方法实现。针对这样自定义的表单元素的使用场景,可以添加自定义的表单元素。添加的自定义表单元素定义实例如下:

本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述自动化页面表单数据的恢复方法。

本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述自动化页面表单数据的恢复方法的计算机程序。

基于同一发明构思,本发明实施例中还提供了一种自动化页面表单数据的恢复装置,如下面的实施例所述。由于自动化页面表单数据的恢复装置解决问题的原理与自动化页面表单数据的恢复方法相似,因此自动化页面表单数据的恢复装置的实施可以参见自动化页面表单数据的恢复方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

图3是本发明实施例的自动化页面表单数据的恢复装置的一种结构框图,如图3所示,该装置包括:

数据存储模块301,用于在录入页面上的表单完成数据录入后且所述录入页面触发提交指令之前,按照预设顺序获取所述表单的录入数据,存储所述录入数据;

数据回填模块302,用于在确认页面触发返回指令,由所述确认页面跳转到所述录入页面时,提取所述录入数据,按照所述预设顺序将所述录入数据填回所述表单。

具体的,如图4所示,上述自动化页面表单数据的恢复装置2可以应用到网上银行、网上商城、在线考试系统、在线申报系统等在线系统1中。数据录入页面3,用户在此表单中录入交易的表单数据,表单中包含普通的表单输入元素,如:text、radio、checkbox、select、textarea、imag、button等表单元素。用户录入完成数据后,点击“提交”按钮,将跳转到数据确认页面4。

数据确认页面4,用户在此确认数据录入页面3录入的数据,如果发现数据有误,点击“返回”按钮,跳转到数据录入页面3。

在一个实施例中,如图5所示,自动化页面表单数据的恢复装置2中的所述数据存储模块,包括:元素优先级设置单元12,用于设置所述预设顺序是在所述录入页面上从上到下的顺序,或者设置所述预设顺序是为所述录入页面中的表单元素划分优先级,为每个优先级中的各个表单元素设置先后顺序。

在一个实施例中,如图5所示,自动化页面表单数据的恢复装置2中的所述数据存储模块,还包括:存储单元13,用于将所述录入数据存储到用户的浏览器端。

在一个实施例中,如图5所示,自动化页面表单数据的恢复装置2中的所述数据存储模块,还包括:页面表单解析单元10,用于按照所述预设顺序解析所述表单的所有的表单元素,获取各表单元素的类型;数据获取单元11,用于针对各表单元素的类型调用与类型对应的取值函数,获取各表单元素的元素值;将所有表单元素的元素值和该元素值对应的表单标识组成数据结构,得到所述录入数据。

在一个实施例中,如图5所示,所述页面表单解析单元10,用于按照所述预设顺序解析跳转到的所述录入页面的所有表单元素,根据解析到的表单元素的标识从存储的所述录入数据中获取各表单元素的标识对应的元素值;

自动化页面表单数据的恢复装置2中所述数据回填模块中的数据回填单元14和元素事件处理单元15按照所述预设顺序对各表单元素逐个执行以下回填步骤:所述数据回填单元14,用于针对当前表单元素,根据该当前表单元素的类型调用对应的表单设值函数,将该当前表单元素的元素值填回跳转到的所述录入页面中;所述元素事件处理单元15,用于触发该当前表单元素绑定的事件函数。

在一个实施例中,所述录入页面中的表单元素包括在线系统自定义的表单元素,如图5所示,自动化页面表单数据的恢复装置2中的自定义表单元素扩展单元16,用于添加自定义的表单元素。

以下具体描述上述自动化页面表单数据的恢复装置2的工作方法,如图6所示,该方法包括:

步骤s100:客户访问在线系统的录入页面,录入交易要素。

步骤s101:录入完成之后客户点击“提交”按钮,调用该自动化页面表单数据的恢复装置的入口saveform方法。如果该表单存在表单元素优先级的关系,调用元素优先级设置单元12,sethighpriorityeles方法,这是高优先级的元素对象。如果还存在依赖调用关系,则可以再调用setdependencyeles方法,这两步都是可选的,且这两个方法和saveform方法没有直接先后关系并可以分步存储。

步骤s102:该装置调用页面表单解析单元10,解析当前的表单元素的所有表单元素对象。

步骤s103:该装置调用页面表单解析单元11,获取前一步解析出来的表单元素的值。由于表单元素多种多样,该装置把普通的表单按照类型分组后,按组调用各自的取值方法。如果此表单元素是一个自定义表单元素,则会调用自定义表单元素对象单元16中该对象的取值方法。取值完成之后,再解析下一个表单云元素,继续s103步骤,直到整个表单完全解析完成。

步骤s104:所有对象解析完成和取值完成之后,该装置把元素名称(即上述元素标识)和元素值的对应关系存储到存储单元3。如果还存在元素优先级设置单元的列表,也需要把优先级列表存储到存储单元3。然后提交录入表单。

步骤s105:确认页面展现录入页面的交易要素。

步骤s106:用户在此页面确认信息是否正确,如果用户在此页面确认正确,转至步骤s107;如果错误,转至步骤s108。

步骤s107:如果用户在此页面确认正确,点击“确定”按钮,确认提交,展现成功页面给客户,结束交易。

步骤s108:如果错误,点击“返回”按钮,返回录入页面,提交“是否确认页面返回标志”为是,跳转到录入页面。

步骤s109:录入页面生成后为初始的状态,并未有用户刚才录入的信息。

步骤s110:录入页面在加载完成后,判断“是否确认页面返回标志”,如果为否,则结束,展现初始的录入页面给用户;如果为是,转至步骤s111。

步骤s111:调用页面表单解析单元10,解析当前的表单元素的所有表单元素对象。

步骤s112:根据解析的表单元素,循环每个表单元素,从存储单元得到当前表单元素的元素值。

步骤s113:针对每个表单元素,调用数据回填单元14,逐个回填每个交易的值。

如果存储单元中还存在元素优先级列表,则回填的顺序需要按照优先级列表中的顺序来回填,如果此元素是自定义表单元素,则调用自动自定义表单扩展元素单元16中的赋值方法,回填此表单数据。

步骤s114:回填值的同时,调用元素事件处理单元15,触发此类表单元素的相关事件。如果此元素是自定义表单元素,则调用自定义表单扩展元素单元16中的事件触发方法,触发此表单的事件函数。然后继续循环下一个元素,直到所有表单元素全部处理完成后,整个表单还原到用户之前录入的状态。

在本发明实施例中,通过在录入页面触发提交指令之前,按照预设顺序获取录入页面上的表单完成数据录入的录入数据,并存储该录入数据,在确认页面触发返回指令,由确认页面跳转到录入页面时,提取上述录入数据,按照预设顺序将上述录入数据填回录入页面的表单。使得在确认页面上用户“点击”返回按钮时,系统能够自动恢复与还原用户原来在录入页面录入的数据,用户只需要在此基础上修改便可以了,不需要重新录入这些数据,有利于大大提高系统的数据处理效率。

显然,本领域的技术人员应该明白,上述的本发明实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明实施例不限制于任何特定的硬件和软件结合。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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