2014-04-25 3 views
0

아약스를 사용하여 업데이트하는 양식이 있습니다. 처음에는 dropdownLists가 3 개 있지만 Ajax 호출 수가 증가한 후에 나타납니다. 나는 그것이 아약스 호출을 텍스트 필드 INM 입력 할 때 여기 내 양식
POST 메소드가 부분 데이터를 게시합니다

<?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); 
     }, 

     } 
     ); 
}); 
"); 
?> 

입니다. 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 개의 위젯이 표시됩니다. 그러나 내가 제출할 때 마지막 위젯 만 결과가 제출됩니다.

+0

당신이 내가 그것을 확인하고 20M하지만 여전히 같은 결과에 8M에서 증가했다 입력 – Pete

+0

의 렌더링 된 HTML을 추가 할 수 있습니다 확인해야합니다. 그리고 나는 그것보다 많은 데이터를 보냈습니다. 그러나 나는 이것이 왜 일어나고 있는지 확신하지 못한다. – user3493489

답변

0

웹 서버 구성을 확인하고 싶을 수 있습니다. 아파치를 사용하는 경우 당신은 post_max_size이 (IIRC)

+0

나는 그것을 검사하고 8M에서 20M로 증가했지만 여전히 같은 결과를 보였다. 그리고 나는 그것보다 많은 데이터를 보냈습니다. 그러나 나는 이것이 왜 일어나고 있는지 확신하지 못한다. – user3493489

관련 문제