在javascript中访问动态创建的Dojo复选框小部件

时间:2011-01-14 17:13:58

标签: javascript dojo

我正在尝试使用Dojo创建复选框。没有。复选框根据所做的选择而有所不同。

我可以创建盒子。问题是当我尝试提交表单并尝试使用dijit.byid(“ID”)访问盒装时,IE会给出未定义的消息。

下面是代码。我非常喜欢复选框,但无法访问它们。

在Javascript中创建复选框的代码:

function displayDefiningC(definingCharacteristicCount,fieldData){

try{

if( (document.getElementById("problemDefChar").style.display == "none") && (definingCharacteristicCount > 0))
{
    document.getElementById("problemDefChar").style.display = "block";

    **var DefCharSpan = dojo.doc.createElement("span");


    for(j = 1; j<=definingCharacteristicCount; j++ )
    {
        var DefCharCheckbox = new dijit.form.CheckBox();
        DefCharCheckbox.id = "PDCDEFCHAR"+j;
        DefCharCheckbox.name = "PDCDEFCHAR"+j;
        DefCharCheckbox.value = fieldData[j].DefiningCharacter;
        DefCharCheckbox.checked = false;
        var DefCharLabel = dojo.doc.createElement("span");
        DefCharLabel.innerHTML = fieldData[j].DefiningCharacter;
        var DefCharBreak = dojo.doc.createElement("br");
        DefCharSpan.appendChild(DefCharCheckbox.domNode);
        DefCharSpan.appendChild(DefCharLabel);
        DefCharSpan.appendChild(DefCharBreak);
        dojo.place(DefCharSpan, dojo.byId("DefCharCheckBox"), "last");

    }**

}
}catch(e){
alert(e);    

}

return;

}

我试图使用以下方法访问这些复选框:

var defchar= dijit.byId("PDCDEFCHAR1");
alert("defchar " +defchar);

但这个未定义。

1 个答案:

答案 0 :(得分:1)

我已经解决了......问题是我错误地创造了它:)

function displayDefiningC(definingCharacteristicCount,fieldData){

try{

if( (document.getElementById("problemDefChar").style.display == "none") && (definingCharacteristicCount > 0))
{
    document.getElementById("problemDefChar").style.display = "block";

    var DefCharSpan = dojo.doc.createElement("span");


    for(j = 1; j<=definingCharacteristicCount; j++ )
    {


        var DefCharCheckbox = new dijit.form.CheckBox({
            name: "PDCDEFCHAR"+j,
            id: "PDCDEFCHAR"+j,
            value: fieldData[j].DefiningCharacter,
            checked: false,
     });

        var DefCharLabel = dojo.doc.createElement("span");
        DefCharLabel.innerHTML = fieldData[j].DefiningCharacter;
        var DefCharBreak = dojo.doc.createElement("br");
        DefCharSpan.appendChild(DefCharCheckbox.domNode);
        DefCharSpan.appendChild(DefCharLabel);
        DefCharSpan.appendChild(DefCharBreak);
        dojo.place(DefCharSpan, dojo.byId("DefCharCheckBox"), "last");

    }

}
}catch(e){
alert(e);    

}

return;

}