我尝试使用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()方法中。
任何帮助将不胜感激,谢谢..
答案 0 :(得分:0)
听起来你想要异步刷新部分页面 所以你必须使用ajax。
查看symfony1.4教程的第18天部分 这对你正在尝试做的事情来说是一个很好的起点。