我正在使用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']所以当选中某个复选框时它会检查这个输入框。
由于
答案 0 :(得分:1)
首先 - 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
。