以程序方式创建组件并把它们插入 DOM 结构见清单
清单 创建 Dojo 组件
var newEditor = dojo
widget
createWidget(
Editor
);
var layoutWinEd = dojowidgetcreateWidget(LayoutContainer
{layoutAlign:top});
layoutWinEdaddChild(newEditor);
清单 在布局容器中添加编辑器为了连接邮件组件可以包含以下代码
FloatingPaneWidget
addChild(layoutWinEd
);
为了添加业务逻辑(用来发送电子邮件的实际代码)Dojo 允许把定制的方法与工具包提供的基本方法连接在一起连接定制方法所用的代码如下
dojo
event
connect(SubmitButtonId
onClick
codeForSendingMail
);
编写处理 onclick 事件的函数见清单
清单 处理事件的示例代码
function codeForSendingMail () {
alert(Special handling for onclick );
Your logic goes here
}
最后显示组件
dojo
widget
byId(
pane
)
show();
为了异步地提交数据需要使用 dojoio 库这个库提供一个相当简单的接口可以通过 bind 方法异步地提交表单数据清单 给出一个示例
清单 处理事件
var myform = dojo
byId(
myform
);
dojoiobind({
url: xyzcom
/* This is not required if the form has an action element defined */
formNode: myform
method: myformmethod/* Get or Post */
load: myCallBackFuntion
error: function(type error)
{
alert(Error: + type + n + error);
}
});
Dojo 支持跨域通信因为这个应用程序需要跨不同的域(应用服务器邮件服务器)进行通信所以需要使用 Dojo 的 XhrIframeProxy 库在前面编写的 js 文件中添加清单 中的代码
[] [] [] [] []