我有一个使用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文档非常少,但是在源代码中,我看到了功能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'))
        }
    })

关于javascript - 在复选框更改时重置mootools的formcheck,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5460996/

10-11 05:43