我正在使用mootools formcheck,当选中一个复选框时,我调用了一个函数:

    function dnb_check(){

    if (document.getElementById("DNB").checked){
        var segments = new Element('input', {
            class   : "validate['required']",
            name    : "segments",
            id      : "segments"
        }).inject('third_party');
        formcheck.register($('segments, 0'));

    }
    else{
    formcheck.dispose($('segments'));
    }
    }


这是在最后添加一个输入元素。我尝试弄乱最后的数字,但是无论如何,它总是在最后加上。我要做的就是使现有输入框具有:class =“ ['required'],因此当选中某个复选框时,它将选中此输入框。

谢谢

最佳答案

首先-class是IE不允许您使用的注册关键字,即使作为对象的属性也是如此。您需要使用"class"

或者在mootools 1.3+中,您可以使用光滑的构造函数:

new Element('input#segments[name=segments][class=validate[\'required\']]').inject(document.body);

// for normal classes (not meant to be for json!)
new Element('input#foo.bar[required]'); // will add <input id=foo class=bar required />


第二,您在var segments中保存对元素的引用,然后通过DOM再次获取元素?您应该能够通过formcheck.register(segments, nn);-按照示例。 http://mootools.floor.ch/docs/formcheck/files/formcheck-js.html#FormCheck.register-您正在将选择器的参数与register方法的第二个参数混合。

这也不应标记为jquery

08-19 05:45