gpt4 book ai didi

javascript - 需要解决 reportValidity()

转载 作者:行者123 更新时间:2023-11-29 16:43:07 25 4
gpt4 key购买 nike

我在 .submit 中编写了自定义 javascript/jQuery 验证函数,并使用 reportValidity function() 来获取那些工具提示气泡,但在开发过程中了解到它只能在 Opera 和 Chrome 中完全工作。显然,reportValidity() 在 IE、Safari 和 FF 中的工作方式不同。

在 FF 中,它至少会把用户带到未完成的问题,但不会像 chrome 和 opera 那样提供自动工具提示来通知用户。

Safari 和 IE 显然验证正确,但没有任何迹象表明任何部分不完整。

解决这个问题的方法是什么,即获得与 Chrome 或 Opera 类似的行为的方法?

最佳答案

这是我做的:

document.forms[0].getElementsByTagName("input")[0].setCustomValidity("Please fill out at least one of these fields.");
try {
document.forms[0].reportValidity();
}
catch (e){ //for browsers that don't support reportValidity
$($('input')[0]).popover({
placement:'right',
trigger:'manual',
html:true,
content:'Please fill out at least one of these fields.'
});
$($('input')[0]).popover('show');
setTimeout(function () {
$($('input')[0]).popover('hide');
}, 4000);
}
finally{
return false;
}

您显然可以调整 4 秒超时来满足您的需要,或者完全用其他东西替换它,但是使用 try-catch 和 popover 的解决方法部分似乎对我来说效果很好。

关于javascript - 需要解决 reportValidity(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43665166/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com