当前位置 : 主页 > 网页制作 > Dojo >

dojo小例子(18)为dojox.form.Uploader增加Tooltip功能

来源:互联网 收集:自由互联 发布时间:2021-06-15
Uploader没有ValidationTextBox那种required属性,也就没法实现校验功能。但是实际应用中,我们有时需要提醒用户Uploader不能为空,也就是必须选择一个文件上传。 这时就需要给Uploader增加一

Uploader没有ValidationTextBox那种required属性,也就没法实现校验功能。但是实际应用中,我们有时需要提醒用户Uploader不能为空,也就是必须选择一个文件上传。

这时就需要给Uploader增加一个Tooltip,当用户提交form时,如果用户没有选择文件,就在Uploader旁边弹出Tooltip进行必要的提醒。下面看看我是怎么做的:

1、form里放了一个div,用于存放Uploader

<div id="pic"></div>
2、编程式创建Uploader,并为其增加focus、blur事件处理方法

var up = new dojox.form.Uploader({
    id: 'upPic',
    showInput: 'before',
    label: "选择图片"
});
up.placeAt('pic');
up.startup();
on(up, "focus", lang.hitch(this, showTip, upPic)); // 当选中该Uploader时,调用showTip
on(up, "blur", hideTip(upPic)); // 该Uploader失去焦点,调用hideTip
3、Tooltip的显示与隐藏

// 显示提示
var showTip = function(node) {
    Tooltip.show('文件不能为空', node);
}
// 隐藏提示
var hideTip = function(node) {
    return function() {
        Tooltip.hide(node);
    }
}

4、提交form时,根据Uploader的值判断其是否为空,为空就将其选中,这样就会触发focus事件,从而调用Tooltip显示提示信息

if( registry.byId('upPic').get('value').length == 0 ){
    registry.byId('upPic').focus();// 选中
    return false;
}
以上是Uploader与Tooltip集成的简单用法,也可以自定义一个widget,综合Uploader和Tooltip、validate等的功能,这是比较完美的解决方案,但是有些难度
网友评论