在提交或刷新页面后发生错误时保留输入字段内容

时间:2015-02-05 07:17:06

标签: php jquery forms yii

我有一个表单,用户可以在其中输入开始日期和结束日期。我为此使用了日期选择器。我希望当用户刷新页面或用户提交表单但由于错误而被重定向到同一页面时,那些输入的开始日期和结束日期应保持不变。在我的情况下,输入的数据在刷新时或在提交时发生错误时消失。

以下是我的观点:

<div class="info">
   <label class="col-lg-2 form-label"><b>Start Date</b></label>
      <div class="col-lg-4" >
         <?php $this->widget('zii.widgets.jui.CJuiDatePicker', 
                         array('name' => 'FormDetails_date_fr',
                               'options' => array(
                               'showAnim' => 'blind',
                               'beforeShowDay' => 'js:$.datepicker.noWeekends',
                               'minDate' => 'date("Y-m-d", strtotime("+1 day")',
                               'changeMonth' => true,
                               'changeYear' => true,
                               'dateFormat' => 'yy-mm-dd',
                                            ),
                               'htmlOptions' => array(
                               'class' => 'form-control A',
                               //'id' =>'A',
                                ),
                           )); ?>
      </div>
</div>

<div class="info">
   <label class="col-lg-2 form-label"><b>Start Date</b></label>
      <div class="col-lg-4" >
         <?php $this->widget('zii.widgets.jui.CJuiDatePicker', 
                         array('name' => 'FormDetails_date_to',
                               'options' => array(
                               'showAnim' => 'blind',
                               'beforeShowDay' => 'js:$.datepicker.noWeekends',
                               'minDate' => 'date("Y-m-d", strtotime("+1 day")',
                               'changeMonth' => true,
                               'changeYear' => true,
                               'dateFormat' => 'yy-mm-dd',
                                            ),
                               'htmlOptions' => array(
                               'class' => 'form-control C',
                               //'id' =>'A',
                                ),
                           )); ?>
      </div>
</div>

我正在使用Yii 1.1 PHP Framework。 任何人的想法?请帮忙。

1 个答案:

答案 0 :(得分:0)

我已检查zii.widgets.jui.CJuiDatePicker功能。在我看来,它不是为保留输入值而设计的。

绕过解决方案可能是:

  1. 对用户输入的值进行ajax调用,以便在某处保存输入的值(作为模型属性或app参数或会话参数)。所以在datepicker配置中输入这样的东西(取自Select2示例):

    'htmlOptions'=&GT;阵列(         '的onChange'=&GT; ::了CHtml AJAX(阵列( '类型'=&GT; 'POST',         'URL'=&GT; '/',         '数据'=&GT; 'JS:THIS.VALUE',)),     ),

  2. 在datapicker配置中,您可以根据已保存的参数定义value

    $这 - &GT;插件( 'zii.widgets.jui.CJuiDatePicker',                      array('name'=&gt;'FormDetails_date_to',                         '值'=&GT; $模型 - &GT;的attributeName,                   //'value'=&gt; Yii-&gt; app() - &gt; params ['datepickerTempValue'],

  3. 因此在页面重新加载时会插入保存的值。