在复选框更改时重置mootools的formcheck

时间:2011-03-28 15:08:16

标签: javascript mootools

我有一个使用formcheck的表单(一个允许你对验证执行检查的MooTools类)一切正常,我还构建了一个可隐藏的表单的一部分(通过使用mootools'复选框选项上的“幻灯片”类。

问题是隐藏的字段链接到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,或者从中清除密码字段。我希望这能解释问题,任何问题都有助于欢迎:)

1 个答案:

答案 0 :(得分:2)

FormCheck文档非常节省,但查看源代码,我会看到函数registerdispose

您不需要从输入元素中删除该类,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'))
        }
    })