繁体   English   中英

POST方法发布部分数据

[英]POST method posts partial data

我的应用程序中有一个使用Ajax更新的表单。 我最初有3个dropdownLists,但是ajax呼叫数量增加之后。 这是我的表格

<?php $form=$this->beginWidget('bootstrap.widgets.TbActiveForm',array(
    'id'=>'schedule-form',
    'enableAjaxValidation'=>false,
)); ?>

    <p class="help-block">Fields with <span class="required">*</span> are required.</p>

    <?php echo $form->errorSummary($model); ?>
        <?php echo $form->dropDownListRow($model,'class_id',$classes); ?>

       <?php echo $form->dropDownListRow($model,'day_id',$days,array('selected'=>$i)); ?>
        <?php echo $form->dropDownListRow($model,'teacher_id',$days); ?>
        <?php echo CHtml::textField('', '',array('id'=>'search-field')); ?>




    <div  id="copy1">



    </div>

    <div class="form-actions">
        <?php $this->widget('bootstrap.widgets.TbButton', array(
            'buttonType'=>'submit',
            'type'=>'primary',
            'label'=>$model->isNewRecord ? 'Create' : 'Save',
        )); ?>
    </div>

<?php  $this->endWidget(); ?>
        <?php $url=Ccontroller::createUrl('schedule/ajaxSchedule');  Yii::app()->clientScript->registerScript('search', "
$('#search-field').keyup(function(){
$.ajax(
        {
        url:'".$url."',
        data:{ajaxdata:$(this).val()},
        success:function(data){
        $('#copy1').empty();
        $('#copy1').html(data);
        },

        }
        );
});
");
?>

当我输入inm textfield时,它会进行ajax调用。 Ajax调用是完美的,并返回所需的数据。 在返回的数据中,我有一些重复的小部件。 它们很好地显示在那里。 但是,当我提交表单时,我只能从最后一个小部件中获得结果。 即使最初的dropDowns也没有发布,我的意思是他们的结果也没有发布。 我做错了什么?
这是我的ajax重新调整的代码。

<?php

for($i=0;$i<$numberOfperiods;$i++ ){
?>
 <div class="row copy">
       <?php echo CHtml::dropDownList('Schedule','subject_id[]',$courses,array('id'=>'subject_is'.$i)); ?>
       <?php $config1=array('model' => $model,
                   'attribute'=>'start_time[]','htmlOptions'=>array('id'=>'start_time'.$i));
       $this->widget(
               'bootstrap.widgets.TbTimePicker', $config1
       );
       ?>
         <?php $config=array('model' => $model,
                   'attribute'=>'end_time[]','htmlOptions'=>array('id'=>'end_time'.$i));
       $this->widget(
               'bootstrap.widgets.TbTimePicker', $config
       );
       ?>


    </div>

<?php } ?>

循环效果很好。 假设我有numberOfperiods = 6,那么将显示6个小部件。 但是,当我提交时,仅提交最后一个小部件的结果。

您可能要检查您的Web服务器配置。 如果你使用Apache,你应该检查post_max_size (IIRC)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM