The invention discloses a page form processing method, a device, a computer device and a storage medium. The method includes: if the version information of browser satisfies the preset version compatibility requirement, the form control in the form to be submitted is acquired; according to the change relationship between the control name of each browser version in the preset control data table before and after the dynamic setting, the control name of each form control is checked, if the control name of the form control is after the dynamic setting. Control name, the property definition of the dynamically set control name in the form control is replaced by the property definition of the dynamically set control name before dynamic setting, and the updated form to be submitted is obtained; the updated form to be submitted is parsed, and the parsed form data is sent to the server. The technical scheme of the invention avoids the form data parsing error caused by the change of control name, and improves the compatibility of incompatible browser versions.
【技术实现步骤摘要】
页面表单处理方法、装置、计算机设备及存储介质
本专利技术涉及计算机
,尤其涉及一种页面表单处理方法、装置、计算机设备及存储介质。
技术介绍
随着互联网技术的不断发展,浏览器产品不仅种类繁多,而且版本更新频繁。由于信息技术更新迅速,新产品往往很难兼容旧产品的设计;摒弃一些旧的软件库,取而代之为更高效更简洁的版本,是众多浏览器产品提供商不得不采取的策略,同时,基于浏览器的Web开发也在不断跟进新的浏览器技术,这为仍在服役的老旧Web系统带来各种兼容性问题。例如,很多浏览器应用页面提供用户信息输入的功能,用户通过浏览器应用页面提供的输入框控件输入相关信息,浏览器使用本地缓存的JavaScript脚本对应用页面的Form表单进行解析后,将解析得到的表单数据提交到后台服务端进行进一步处理。然而,在有些应用场景中,输入框控件的名称不是固定的,需要通过JavaScript脚本根据应用的需要进行动态设置,以确保与服务端约定的名称一致。但是,由于浏览器版本之间的兼容性问题,对于低版本的浏览器在通过JavaScript脚本对控件名称的属性值进行动态设置后,控件名称会发生变化,导致服务端无法通过约定的控件名称属性值获取到对应的控件值。例如,对<inputtype=“text”name=“username”value=“zhangsan”>这一input控件,当通过JavaScript脚本的命令input.setAttribute('name',personname),动态改变input控件的控件名称name的属性值时,在低于IE8的浏览器版本中,该控件名称会变 ...
【技术保护点】
1.一种页面表单处理方法,其特征在于,所述页面表单处理方法包括:若检测到用户通过浏览器页面触发表单提交的操作,则获取所述浏览器的版本信息;若所述版本信息满足预设的版本兼容要求,则获取待提交表单中的表单控件;根据预设的控件数据表中预存的每个浏览器版本中控件名称在动态设置前后的变化关系,对每个所述表单控件的控件名称进行检查,若所述表单控件的控件名称为动态设置后的控件名称,则将该表单控件作为待处理控件,将所述动态设置后的控件名称作为目标控件名称,以及将所述目标控件名称在动态设置前的控件名称作为源控件名称;将所述待处理控件中对所述目标控件名称的属性定义替换为对所述源控件名称的属性定义,得到更新后的所述待提交表单;对更新后的所述待提交表单进行解析,并将解析得到的表单数据发送到服务端。
【技术特征摘要】
1.一种页面表单处理方法,其特征在于,所述页面表单处理方法包括:若检测到用户通过浏览器页面触发表单提交的操作,则获取所述浏览器的版本信息;若所述版本信息满足预设的版本兼容要求,则获取待提交表单中的表单控件;根据预设的控件数据表中预存的每个浏览器版本中控件名称在动态设置前后的变化关系,对每个所述表单控件的控件名称进行检查,若所述表单控件的控件名称为动态设置后的控件名称,则将该表单控件作为待处理控件,将所述动态设置后的控件名称作为目标控件名称,以及将所述目标控件名称在动态设置前的控件名称作为源控件名称;将所述待处理控件中对所述目标控件名称的属性定义替换为对所述源控件名称的属性定义,得到更新后的所述待提交表单;对更新后的所述待提交表单进行解析,并将解析得到的表单数据发送到服务端。2.如权利要求1所述的页面表单处理方法,其特征在于,所述将所述待处理控件中对所述目标控件名称的属性定义替换为对所述源控件名称的属性定义,得到更新后的所述待提交表单包括:在所述待处理控件中,获取所述目标控件名称的属性值,并删除对所述目标控件名称的属性定义;在所述待处理控件中新增对预设的基础控件名称的属性定义,将所述目标控件名称的属性值赋值给所述基础控件名称;将所述待处理控件中的所述基础控件名称替换为所述源控件名称。3.如权利要求1所述的页面表单处理方法,其特征在于,所述版本信息包括浏览器类型和浏览器版本号,所述获取所述浏览器的版本信息包括:获取所述浏览器的用户代理字符串;按照所述用户代理字符串预设的信息结构,从所述用户代理字符串中提取所述浏览器类型和所述浏览器版本号。4.如权利要求3所述的页面表单处理方法,其特征在于,所述若所述版本信息满足预设的版本兼容要求,则获取待提交表单中的表单控件包括:若所述浏览器类型属于预设的目标浏览器,并且所述浏览器版本号小于预设的版本号阈值,则获取待提交表单中的表单控件。5.如权利要求1至4任一项所述的页面表单处理方法,其特征在于,所述对更新后的所述待提交表单进行解析,并将解析得到的表单数据发送到服务端包括:按照预设的验证条件,对更新后的所述待提交表单的内容进行有效性验证;若所述有效性验证通过,则从更新后的所述待提交表单的表单标签中获取所述服务端的接收地址信息,并按照更新后的所述待提交表单中每个所述表单控件的类型...
【专利技术属性】
技术研发人员:许永夫,李培光,
申请(专利权)人:平安科技深圳有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。