FineUI 官方论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

本论坛已关闭(禁止注册、发帖和回复)
请移步 三石和他的朋友们

FineUI首页 WebForms - MVC & Core - JavaScript 常见问题 - QQ群 - 十周年征文活动

FineUI(开源版) 下载源代码 - 下载空项目 - 获取ExtJS - 文档 在线示例 - 版本更新 - 捐赠作者 - 教程

升级到 ASP.NET Core 3.1,快、快、快! 全新ASP.NET Core,比WebForms还简单! 欢迎加入【三石和他的朋友们】(基础版下载)

搜索
查看: 6279|回复: 9
打印 上一主题 下一主题

FineUI v4.0.6的My97DatePicker例子在FineUI v3.3.3下无效

[复制链接]
跳转到指定楼层
楼主
发表于 2014-5-29 23:13:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在FineUI v4.0.6的项目里,My97DatePicker可以正常使用,但是把同样的代码放到FineUI v3.3.3下却无效!
请帮忙呀!!!
代码如下:
         <x:TriggerBox ID="tbxStarDate" Label="" EmptyText="请选择日期和时间" TriggerIcon="Date" runat="server" EnablePostBack="False">
         </x:TriggerBox>
         <x:TriggerBox ID="tbxEndDate" Label="" EmptyText="请选择日期和时间" TriggerIcon="Date" runat="server">
          </x:TriggerBox>
          <x:TextBox ID="ttbUserName" runat="server" Label="" Text="" EmptyText="在用户名中搜索"></x:TextBox>
           <x:Button ID="btnChaXun" runat="server" Text=" 数据查询 " Icon="Zoom" ValidateForms="Form2" CssClass="buttonMargin"></x:Button>

JS:
    <script src="../res/jQuery/jquery-1.10.2.min.js" type="text/javascript"></script>
    <script src="../res/My97DatePicker/WdatePicker.js" type="text/javascript"></script>
    <script type="text/javascript">
        var tbxStarDateClientID = '<%= tbxStarDate.ClientID %>';
        var tbxEndDateClientID = '<%= tbxEndDate.ClientID %>';
        function onReady() {
            var tbxStarDate = X(tbxStarDateClientID);
            $.extend(tbxStarDate, {
                onTriggerClick: function () {
                    WdatePicker({dateFmt: 'yyyy-MM-dd HH:mm:ss'})
                }
            });
            var tbxEndDate = X(tbxEndDateClientID);
            $.extend(tbxEndDate, {
                onTriggerClick: function () {
                    WdatePicker({dateFmt: 'yyyy-MM-dd HH:mm:ss'})
                }
            });

            //单击文本框时,显示日期控件(这个可以正常使用)
            var TB_DATE = '<%= ttbUserName.ClientID %>';
            var DATE_OBJ = X(TB_DATE);
            DATE_OBJ.on('focus', function (e) {
                WdatePicker({ dateFmt: 'yyyy-MM-dd HH:mm:ss'})
            });
        }
    </script>
沙发
 楼主| 发表于 2014-5-30 11:05:23 | 只看该作者
三石老大,请帮帮忙呀!
板凳
发表于 2014-5-30 11:44:26 | 只看该作者
打开浏览器调试工具,看下有啥 JS 错误
地板
 楼主| 发表于 2014-5-30 14:50:40 | 只看该作者
找不到原因,在IE下绑定到TriggerBox控件的不起作用,但绑定到TextBox的是可以的;但是用火狐浏览器打开,就全部不行了!也找不到问题呀,麻烦你帮帮忙嘛,谢谢!
5#
 楼主| 发表于 2014-5-30 14:57:15 | 只看该作者
本帖最后由 luokaijin 于 2014-5-30 15:23 编辑

FineUI v4.x太慢,专业版又还没出来,没办法就只有选择v3.x版本来用,等专业版出来再购买,可这问题不知怎么解决,望三石帮帮忙哈,谢谢
6#
发表于 2014-5-30 15:31:05 | 只看该作者
简单测试了一下,extjs v3.4 这个地方处理的不好,它是在初始化时进行事件绑定,如下所示:
  1. // private
  2.     initTrigger : function(){
  3.         this.mon(this.trigger, 'click', this.onTriggerClick, this, {preventDefault:true});
  4.         this.trigger.addClassOnOver('x-form-trigger-over');
  5.         this.trigger.addClassOnClick('x-form-trigger-click');
  6.     },
复制代码
参考源代码:http://docs.sencha.com/extjs/3.4 ... t-form-TriggerField

所以,触发器控件初始化完毕后再对 onTriggerClick 进行赋值就没用了。

可以尝试如下类似代码(先解除绑定,再重新绑定):
  1. var triggerBox = X('SimpleForm1_tbxMyBox1');
  2. triggerBox.mun(triggerBox.trigger, 'click', triggerBox.onTriggerClick, triggerBox);
  3. triggerBox.mon(triggerBox.trigger, 'click', function() {
  4.         alert('hehe');
  5. }, triggerBox, {preventDefault:true});
复制代码




7#
 楼主| 发表于 2014-5-30 15:56:54 | 只看该作者
三石兄呀,用你的方法能弹出对话框,但把“alert('hehe');”换成“WdatePicker({ dateFmt: 'yyyy-MM-dd HH:mm:ss' });”,还是不行呀,没反应呀!再帮看看,谢谢了!
           var triggerBox = X(tbxStarDateClientID);
            triggerBox.mun(triggerBox.trigger, 'click', triggerBox.onTriggerClick, triggerBox);
            triggerBox.mon(triggerBox.trigger, 'click', function () {
                WdatePicker({ dateFmt: 'yyyy-MM-dd HH:mm:ss' });
                //alert('hehe');(点击能弹出窗口,但是还是弹不出选择日期框)
            }, triggerBox, { preventDefault: true });
8#
发表于 2014-5-30 21:38:25 | 只看该作者
luokaijin 发表于 2014-5-30 15:56
三石兄呀,用你的方法能弹出对话框,但把“alert('hehe');”换成“WdatePicker({ dateFmt: 'yyyy-MM-dd HH: ...

参考:http://fineui.com/demo/#/demo/aspnet/my97.aspx
  1. WdatePicker({
  2.                         el: tbxMyBoxClientID + '-inputEl',
  3.                         dateFmt: 'yyyy-MM-dd HH:mm:ss',
  4.                         skin: 'neptune'
  5.                     });
复制代码

你可能需要指定 el 属性,也就是说这个弹出日期组件和哪个input元素关联
9#
 楼主| 发表于 2014-5-31 10:45:56 | 只看该作者
还是不行,如果三石兄有空帮测试测试,谢谢
10#
发表于 2016-11-25 18:22:20 | 只看该作者
老兄这个问题解决了吗,我也碰到这个问题了,基于fineui3.3.3.0,实现到分钟的时间的控件
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|FineUI 官方论坛 ( 皖ICP备2021006167号-1 )

GMT+8, 2024-5-5 21:38 , Processed in 0.048694 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表