我正在使用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
。