bootstrap表单校验 因为页面元素发生变化导致校验报错

以下是报错

VM24563 formValidation.js:1409 Uncaught TypeError: Cannot read properties of undefined (reading 'find')
    at FormValidation.Framework.Bootstrap.updateStatus (VM24563 formValidation.js:1409:45)
    at FormValidation.Framework.Bootstrap.resetField (VM24563 formValidation.js:2076:18)
    at FormValidation.Framework.Bootstrap.resetForm (VM24563 formValidation.js:2089:22)
    at validData (SuRegistration?inspectRegId=a2576b34cc8443f7a9da30c60f980c1d:1463:56)
    at _saveEvent (SuRegistration?inspectRegId=a2576b34cc8443f7a9da30c60f980c1d:1682:8)
    at HTMLButtonElement.onclick (SuRegistration?inspectRegId=a2576b34cc8443f7a9da30c60f980c1d:1001:31)

原因分析:
前端元素是动态生成的,在数据校验触发时 如果页面元素不发生变化,可以正常校验。当页面元素发生变化时校验就报错,原因是框架在二次校验时调用的方法使用的数据是缓存的数据。
解决方法:
用这个方法删除页面上已经不存在的元素。 removeField();

$("#suinspectionRegistForm").data('formValidation').removeField('servicePer'+id);

配合destroy()方法用起来 丝滑~~. 先销毁 然后重新加载校验validationForm对象

if(this.validationForm){
			$("#suinspectionRegistForm").data('formValidation').destroy();
		}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值