0

我正在尝试以编程方式创建一个 dojo 表单并在单击按钮时验证输入 TextBox。但是当我尝试验证时,我收到一个错误“dijit.byId(..) 未定义。下面是代码:

var form = new dijit.form.Form({ 
                                    nametb: new dijit.form.TextBox({
                                        name: "name",
                                        type: "text",
                                        required: true,
                                        placeHolder: "Your Full Name"
                                    },"nametb"),
                                    subBtn: new dijit.form.Button({
                                        label: "Proceed",
                                        onClick: function(){
                                            if(dijit.byId("nametb").get('value') == null || dijit.byId("nametb").get('value').length == 0 )
                                                {
                                                    alert("Please enter Name");
                                                    return false;
                                                }

                                        }
                                    }),
                                    cnclBtn: new dijit.form.Button({
                                        label: "Cancel",
                                        onClick: function(){
                                            dia.hide();
                                        }
                                    }),
                                    postCreate: function(){
                                        this.domNode.appendChild(this.nametb.domNode);
                                        this.domNode.appendChild(this.subBtn.domNode);
                                        this.domNode.appendChild(this.cnclBtn.domNode);
                                    }
                                });

但是现在当我单击继续按钮时,我得到一个错误dijit.byId(...) is undefined

如何验证此文本框?

4

2 回答 2

2

您从未为 设置 id nametb,因此dijit.byId()无法找到文本框并引发错误。尝试

nametb: new dijit.form.TextBox({
    name: "name",
    type: "text",
    id: "nametb",
于 2013-06-03T15:01:30.043 回答
0

只需在指定的小部件上尝试此操作:

// validate nametb textbox
dijit.byId("nametb").validate();

或者您可以像这样验证表单:

if (dijit.byId("yourForm").validate()) { 
   // do something if your form is valid
} else {
   // show error message
}
于 2014-12-12T09:05:30.377 回答