2012-08-08 6 views
0

일부 라디오 버튼에 대한 선택에 따라 일부 양식 요소가 표시되거나 보이지 않도록 만들기 위해 아약스를 사용하려고합니다.보이는/보이지 않는 코드 요소 (아약스)를 제어하기위한 양식 라디오

라디오에는 "태그"또는 "양식"의 두 가지 옵션이 있습니다. "태그"는 기본값이며 본문 필드는 시작 부분에 표시됩니다. 그러나 대신 "양식"선택을 클릭하면 본문 필드가 사라집니다. 그런 다음 "태그"를 다시 클릭하여 본문 필드를 다시 볼 수있게하려면 여기에 문제가 생깁니다. 여기

는 관련 코드 :

function format_and_filter_form_protocol_node_form_alter(&$form, &$form_state,$form_id) { 

    $form['protocol_form_view_radios'] = array(
          '#type' => 'radios', 
          '#title' => 'Input by:', 
          '#options' => array('taging','form'), 
          '#default_value' => 0, 
          '#ajax' => array(
               'callback' => 'format_and_filter_change_input_callback', 
               'wrapper' => 'body-add-more-wrapper', 
              ), 
        '#executes_submit_callback' => FALSE, 
          '#limit_validation_errors' => array(), 
          '#weight' => -31, 
          ); 

} 

function format_and_filter_change_input_callback($form,&$form_state) { 

    if ($form_state['input']['protocol_form_view_radios'] == 0) { 
    $form['body']['#access'] = TRUE; 
    } 
    else { 
    $form['body']['#access'] = FALSE; 
    } 

    return $form['body']; 
} 

사람이 어떤 설명이 있습니까 왜 $ 양식 [ '몸'] [ '# 액세스'] 다시 몸 필드에는 표시되지 않습니다 TRUE =? $ form_state [ 'input'] [ 'protocol_form_view_radios'] == 0이 true 일 때 $ form 배열을 검사하여 $ form [ 'body'] [ '# access']이 실제로 1로 설정되는 것을 보았습니다.

답변

0

#ajax 콜백

'callback' => 'format_and_filter_change_inpu t_callback', 

의 잃어버린 공간은 또한 코드에 존재있다?

+0

아니요, 질문에만 실수입니다. – numfar

관련 문제