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

前端之家收集整理的这篇文章主要介绍了dojo小例子(18)为dojox.form.Uploader增加Tooltip功能前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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等的功能,这是比较完美的解决方案,但是有些难度

猜你在找的Dojo相关文章