Symfony 1.4从select中传递值而不刷新页面

时间:2015-09-04 13:37:39

标签: symfony1 symfony-1.4

我尝试使用Symfony 1.4 froms传递一些值。

我尝试做的是将值从SELECT传递到$ variable而不刷新页面。

CreateForm.php

 $this->setWidget('cycle', new sfWidgetFormChoice(array(
        'label' => __( 'Cycle'),
        'choices' => $this->getCycles()
    ), array(
        'class' => 'inputText',
    )));

    $this->setValidator( 'cycle', new sfValidatorChoice( array(
        'required' => true,
        'choices' => array_keys( $this->getCycles())
    ), array(
    )));

    $this->setWidget('startCycle', new sfWidgetFormChoice(array(
        'label' => __( 'Start cycle' ),
        'choices' => ''
    ), array(
        'class' => 'inputTextshort',
    )));

    $this->setValidator( 'startCycle', new sfValidatorChoice( array(
        'required' => true,
        'choices' => ''
    ), array(
    )));

    $this->setWidget('endCycle', new sfWidgetFormChoice(array(
        'label' => __( 'End cycle' ),
        'choices' => ''
    ), array(
        'class' => 'inputTextshort',
    )));

    $this->setValidator( 'endCycle', new sfValidatorChoice( array(
        'required' => true,
        'choices' => ''
    ), array(
    )));

CreateForm.php中的一些功能:

public function getCycles()
{
    return array(
        'DAY'   => 'DAY',
        'WEEK'  => 'WEEK',
        'MONTH' => 'MONTH',
        'YEAR'  => 'YEAR'
    );
}

public function getCyclesValues() {

    $arrCyclesValues = array(
        'DAY' => array(
            'start' => range(0,23),
            'end'   => range(0,23),
        ),
        'WEEK' => array(
            'start' => range(1,7),
            'end'   => range(1,7),
        ),
        'MONTH' => array(
            'start' => range(0,13),
            'end'   => range(0,13), 'can_be_empty' => true,
        ),
        'YEAR' => array(
            'start' => range(1,365),
            'end'   => range(1,365),
        ),
    );

    $start_day_cycyle   =  $arrCyclesValues['DAY']['start'];
    $stop_day_cycyle    =  $arrCyclesValues['DAY']['stop'];
    $start_week_cycyle  =  $arrCyclesValues['WEEK']['start'];
    $stop_week_cycyle   =  $arrCyclesValues['WEEK']['stop'];
    $start_month_cycyle =  $arrCyclesValues['MONTH']['start'];
    $stop_month_cycyle  =  $arrCyclesValues['MONTH']['stop'];
    $start_year_cycyle  =  $arrCyclesValues['YEAR']['start'];
    $stop_year_cycyle   =  $arrCyclesValues['YEAR']['stop'];

} 
public function getCycle() {


}

基本上,视图让我有可能检查四个周期中的一个:

http://i.imgur.com/emDqOv1.png

当我检查4个值中的一个时,我需要在不刷新页面的情况下捕获它,并将它放在一些$ variable到CreateForm.php脚本的getCycle()方法中。

任何帮助将不胜感激,谢谢..

1 个答案:

答案 0 :(得分:0)

听起来你想要异步刷新部分页面 所以你必须使用ajax。

查看symfony1.4教程的第18天部分 这对你正在尝试做的事情来说是一个很好的起点。