我在dhtmlschedular.js中添加了自定义文本字段,但
我无法追踪路径。我的自定义字段值如何在控制器上运行。
或完整的dhtmlx流程,用于将数据保存到db。
我到目前为止: - 灯箱: { 部分:[ {name:“description”,height:200,map_to:“text”,type:“textarea”,focus:true}, ]}, {name:“prabhu”,身高:200,map_to:“txt1”,输入:“dhiraj”}, {name:“time”,height:72,type:“time”,map_to:“auto”}
dhiraj: {
render:function(sns){
return "<div class='dhx_cal_ltext' style='height:60px;'>Text <input id='txt1' name='txt1' type='text'><br/>Details <input id='calendarDetailId' name='txt2' type='text'></div>";
},
set_value:function(node,value,ev){
node.childNodes[1].value=value||"";
node.childNodes[4].value=ev.details||"";
},
get_value:function(node,ev){
ev.location = node.childNodes[4].value;
return node.childNodes[1].value;
},
focus:function(node){
var a=node.childNodes[1]; a.select(); a.focus();
}
}
};
答案 0 :(得分:0)
您可以添加自定义字段而无需修改组件的来源(我建议不要在可能的情况下修改它们)
如果您需要在详细信息表单中添加其他控件,则可以覆盖 scheduler.configuration.lightbox.sections 对象(在您的页面/脚本文件中,而不是在源代码中)
&#39; map_to&#39; 属性定义要映射到输入的数据对象(事件)的属性。 如果控件应映射到多个字段,则可以使用 map_to:&#34; auto&#34; 并手动从事件对象中检索所需的字段。
您网页上的代码可能如下所示:
//defining a control
scheduler.form_blocks["dhiraj"]={
render:function(sns){
return "<div class='dhx_cal_ltext' style='height:60px;'>" +
"Text <input id='txt1' name='txt1' type='text'><br/>" +
"Details <input id='calendarDetailId' name='txt2' type='text'>" +
"</div>";
},
set_value:function(node,value,ev){
//get values from event manually
node.childNodes[1].value = ev.txt1 || "";
node.childNodes[4].value = ev.txt2 || "";
},
get_value:function(node,ev){
//assign values to event object
ev.txt1 = node.childNodes[1].value;
ev.txt2 = node.childNodes[4].value;
},
focus:function(node){
var a=node.childNodes[1]; a.select(); a.focus();
}
};
//add control to the details form
scheduler.locale.labels.section_prabhu = "";//labels for inputs are defined as 'seciton_'+inputName
scheduler.config.lightbox.sections = [
{name:"description", height:200, map_to:"text", type:"textarea" , focus:true},
{name:"prabhu", height:200, map_to:"auto", type:"dhiraj"},//here it is
{name:"time", height:72, type:"time", map_to:"auto"}
];
//init scheduler after control is defined
scheduler.init('scheduler_here',new Date(),"week");
新输入会显示&#39; txt1 &#39;和&#39; txt2 &#39;属性,可以在定义中看到。保存更改后,组件会将所有事件值发送到服务器。自定义值也将被发送。
根据您在服务器端处理更新的方式,您应该将自定义字段添加到 dhtmlxConnector 的配置中,或者从GET / POST参数中检索它们。
http://docs.dhtmlx.com/scheduler/lightbox_editors.html http://docs.dhtmlx.com/scheduler/custom_lightbox_editor.html