我有一个使用formcheck的表单(允许您执行验证检查的MooTools类),一切正常,我还构建了一部分可以隐藏的表单(通过使用mootools的“ slide”类)在复选框选择上。
问题在于,隐藏的字段链接到formcheck类中,并在页面加载时通过以下方式注册:
<script type="text/javascript">
//<![CDATA[
window.addEvent('domready', function() {
var myCheck = new FormCheck('form1');
通过以下复选框,我尝试清除字段上的类:
$('auto').addEvent('click', function(e){
if (document.getElementById("auto").checked == true) {
myVerticalSlide.slideOut();
document.getElementById("password").setAttribute("class", "");
但是由于它是在开始时注册的,所以没有任何效果,因此我的下一个逻辑步骤是调用:
var myCheck = new FormCheck('form1');
但这随后创建了两个表单检查...
因此,我需要的解决方案是重置formcheck或从中清除密码字段。我希望这可以解释问题,欢迎任何问题提供帮助:)
最佳答案
FormCheck
文档非常少,但是在源代码中,我看到了功能register
和dispose
。
您不需要从输入元素中删除该类,dispose
只需从FormCheck
对象中的列表中清除其操作,然后register
将再次解析该类并添加操作:
$('auto').addEvent('click', function(e){
if (document.getElementById("auto").checked == true) {
myVerticalSlide.slideOut()
myCheck.dispose($('password'))
}
else {
myVerticalSlide.slideIn()
myCheck.register($('password'))
}
})
关于javascript - 在复选框更改时重置mootools的formcheck,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5460996/