Javascript 以编程方式动态添加按钮点击时的dijit…如何?
我正在处理的另一个启用dojo的表单有问题。用户可以通过使用对话框输入数据在页面上输入详细信息,该对话框反过来更新数据库,然后将输入的用户数据显示在表单上 添加的每个元素由2个验证文本框和1个筛选选择组成。当它添加到页面时,它们只是作为文本框添加 我试着只添加标准字符串,但这意味着dojo.parse()不会在代码上运行。我还尝试通过编程方式添加元素,但这只是将元素对象作为字符串显示到页面中。到目前为止,我已经:Javascript 以编程方式动态添加按钮点击时的dijit…如何?,javascript,dojo,Javascript,Dojo,我正在处理的另一个启用dojo的表单有问题。用户可以通过使用对话框输入数据在页面上输入详细信息,该对话框反过来更新数据库,然后将输入的用户数据显示在表单上 添加的每个元素由2个验证文本框和1个筛选选择组成。当它添加到页面时,它们只是作为文本框添加 我试着只添加标准字符串,但这意味着dojo.parse()不会在代码上运行。我还尝试通过编程方式添加元素,但这只是将元素对象作为字符串显示到页面中。到目前为止,我已经: var xhrArgs = { url: url, handleA
var xhrArgs = {
url: url,
handleAs: "text",
preventCache: true,
load: function(data){
var idResult = parseInt(data);
if(idResult > 0){
var divStr = '<div id="employ_' + idResult + '" style="float:left;width:100%;">' +
'<table width="300">' +
'<tr>' +
'<td height="29"><Strong>' +
'<input type="text" dojoType="dijit.form.ValidationTextBox ' +
'change="markEmploymentForUpdate(); ' +
'id="cmpy_'+ idResult +'" '+
'required="true" ' +
'promptMessage="Please enter a valid company name" ' +
'invalidMessage="please enter a valid company name" ' +
'trim="true"' +
'value="'+ companyname +'"/>' +
'</td>' +
'<td height="29"><input dojoType="dijit.form.FilteringSelect" store="rolestore" searchAttr="name" name="role" onchange="markEmploymentForUpdate();" id="roleInput_'+ idResult +'" value="'+ jobrole +'" ></td>' +
'<td height="29">' +
'<input type="text" dojoType="dijit.form.ValidationTextBox" onchange="markEmploymentForUpdate();"' +
'id="jtitle_'+ idResult + '"' +
'required="true"' +
'promptMessage="Please enter your job title"' +
'invalidMessage="Please enter your job title"' +
'value="'+ jobtitle + '"/>' +
'</td>' +
'<td height="29"><img src="/images/site/msg/small/msg-remove-small.png" border="0" onmouseover="this.style.cursor=\'pointer\';" onclick="removeEmployer(\'employ_'+ idResult +'\', '+ idResult +')" /></td>' +
'</tr>' +
'</table>' +
'</div>';
dijit.byId('companydetails').hide();
dijit.byId('employername').setValue('');
dijit.byId('jobtitle').setValue('');
dijit.byId('jobrole').setValue('');
dojo.byId('data-table').innerHTML += divStr;
dojo.byId('companydetails').hide();
}else{
dojo.byId('add-error').innerHTML = '<div class="error">Unable to process your request. Please try again.</div>';
}
}
};
var deferred = dojo.xhrGet(xhrArgs);
我只是把物体打印到页面上
你知道如何将其添加到我的页面并维护dojo组件,而不是将其默认设置为文本框吗
非常感谢。代码>dojo.parser.parse(dojo.byId('data-table')代码>设置其innerHTML后,是否可以对整个页面执行此操作?例如dojo.parser.parse(this)?@GrantCollins:在加载dojo本身之前,在dojoConfig中设置
parseonload
。
var textbox = new dijit.form.ValidationTextBox({
id:"cmpy_" + idResult,
required:true,
trim:true,
"change":"markEmploymentForUpdate();",
promptMessage:"Please enter a valid company name",
value:companyname
});