我正在尝试以编程方式创建一个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);
}
});
但现在当我点击Proceed按钮时,我收到错误dijit.byId(...) is undefined
如何验证此TextBox?
答案 0 :(得分:2)
您永远不会为nametb
设置ID,因此dijit.byId()
无法找到文本框并引发错误。尝试
nametb: new dijit.form.TextBox({
name: "name",
type: "text",
id: "nametb",
答案 1 :(得分:0)
在指定的小部件上尝试使用它:
// validate nametb textbox
dijit.byId("nametb").validate();
或者你可以像这样验证表格:
if (dijit.byId("yourForm").validate()) {
// do something if your form is valid
} else {
// show error message
}