【问题标题】:ATK4 Form datePicker - default state is 'opened', can this be changed?ATK4 Form datePicker - 默认状态为“打开”,可以更改吗?
【发布时间】:2013-10-29 22:49:50
【问题描述】:

我正在使用以下表单,每次打开页面(它位于网格上的扩展器中)时,datePicker 都会“打开”,从而遮盖其上方的部分文本。

function page_del() {
    $billingid  = $_GET['id'];
    $now        = date("Y-m-d H:i:s"); 

    $q = $this->api->db->dsql()
        ->table('billing')
        ->where('id', $billingid)
        ->field('enddate')
        ->getOne();

    if (!$q) {
        $this->add('H5')->set('Are you sure you want to stop billing this item?');
        $form = $this->add('Form');
        $form->addField('hidden','billingid')->set($billingid);
        $form->addField('datePicker','datum')->set($now);
        $form->addSubmit('Confirm');

        if ($form->isSubmitted()) {
            $form->stopBilling('manual', $form, $now);              
            $this->js()->univ()->getjQuery()->trigger('reload_grid')->execute(); 
        }
    } else {
            $this->add('H5')->set('This product has already been stopped, effective date: ' .$q);
            }
        }
}

我在其他地方有其他表单,它们也有一个 datePicker 作为它们的第一个(可见)字段,但不显示此行为。我只提到它是因为它看起来像一个“焦点”问题? IE。第一个字段获得焦点?

对造成这种情况的原因或如何补救有什么想法?

【问题讨论】:

    标签: jquery-ui-datepicker atk4 agiletoolkit


    【解决方案1】:

    实际上它是字段状态“onfocus”,而不是默认值。您的表单只有一个字段,并且在页面加载时选择了这个(第一个)字段。

    这里添加了这个行为:

    https://github.com/atk4/atk4/blob/master/lib/Form/Field/DatePicker.php#L35

    function addCalendarIcon() {
        $this->addButton('',array('options'=>array('text'=>false)))
            ->setHtml(' ')
            ->setIcon('ui-icon-calendar')
            ->js('click',$this->js()->datepicker('show'));
        $this->js('focus', $this->js()->datepicker('show'));
    }
    

    您可以在项目中重新定义此方法并删除行

    $this->js('focus', $this->js()->datepicker('show'));
    

    【讨论】:

    • 我实际上看过那个函数并想知道,但它是“addCalendarIcon”函数的事实让我怀疑它是否是我正在寻找的。不过,您的建议很有效,谢谢。
    • "为什么我不尝试取消注释以查看会发生什么?"我也不知道,看到一些闪亮的东西,分心并继续前进可能:-)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-29
    • 2015-06-18
    • 2021-09-09
    • 2020-05-29
    相关资源
    最近更新 更多