2014-04-23 10 views
0

안녕하세요. 세 번째 드롭 다운이 있습니다. 첫 번째 것은 내 컨트롤러에 채워져 있고 두 번째 것은 첫 번째 매개 변수가있는 아약스와 두 번째 매개 변수가있는 두 번째 매개 변수가 있어야합니다. 모든 필드 유효한 내 양식 그것은 모두 드롭 다운 에서 다음과 같은 오류를 인쇄 할 때 입력이 건초 더미ZF2는 AJAX로 채우기를 선택합니다.

에서 찾을 수 없습니다이이 내가 무슨 일을하고있는 중이 야 내 컨트롤러 내 아약스 호출

$("#department_id").change(function(){ 
    $.ajax({ 
     type: "POST", 
     url: "<?php echo $this->url('zfcadmin/getprovinces'); ?>", 
     data: "dept="+$(this).val(), 
     success: function(msg){ 
      $("#province_id").html(msg); 
    } 
}); 
}); 

입니다 어떤 도움?

public function getProvincesByIDAction() 
{ 
    $request = $this->getRequest(); 
    $response = $this->getResponse(); 
    if ($request->isPost()) { 
     $response->setStatusCode(200); 
     $codDpto=$request->getPost('dept'); 
     $data=$this->getTable()->getProvinces($codDpto); 
     $buffer="<option value=''>Seleccione una Provincia</option>"; 
     foreach ($data as $prov) { 
      $buffer.=<<<EOT 
      <option value='{$prov->codProv}'>{$prov->name}</option> 
      EOT; 
     } 
      $response->setContent($buffer); 
     $headers = $response->getHeaders(); 
    } 
    return $response; 
} 

도움이 필요하십니까?

감사합니다.

답변

0

양식을 제출하면 서버 측이 다시 만들어집니다. 즉, 각 select 요소에 대한 value_options 배열에는 게시 된 값이 포함되지 않습니다 (옵션이 AJAX를 통해로드 된 것처럼)

따라서 "입력이 건초 더미에서 발견되지 않았습니다"는 이러한 옵션 $form->setData($request->getPost()) 전에 즉 서버 측 (에 검증 및 형태의 집단 이전을 추가하는 것이 당신이 확인해야합니다 게시 된 값의 유효성을 검증하기 위해

"당신이 선택한 옵션은 선택 요소에 옵션이 아니었다") 양식을 게시 할 때.

+0

덕분에 나는 내 문제가 잘 작동 –

1

당신은 "disable_inarray_validator"의 값을 설정할 수 있습니다에 "사실"귀하의 설명과 함께

'options' => array( 'label' => 'Some Label', 'value_options' => array(), 'disable_inarray_validator' => true, ),

+0

감사를 해결하기 위해 관리하는 폼 요소의 옵션에서 –