2009-06-27 5 views
0

CCK 양식에서 양식 유효성 검사를 발사에서 버튼을 제출 지정을 중지하는 것은 다음과내가 같이 hook_form_alter 사용하여 CCK 양식에 fieldgroup 안에 제출 버튼을 추가 한

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

    if ($form_id == 'object_node_form') { 

    $form['group_wikipedia']['search'] = array(

'#type' => 'submit', 
'#value' => t('Search Wikipedia'), 
'#name' => 'searchwiki', 
'#submit' => array('mymodule_searchwiki_submit'), 
    ); 

    } 
} 

나는 버튼을 누르면 전체 형식에 대한 유효성 확인 처리기. 필수 입력란을 확인하고 양식 끝에 '제출'버튼을 누른 것처럼 실행합니다.

#name 속성을 'op'에서 'searchwiki'로 변경하면 이런 종류의 혼란을 막을 수 있다고 생각했지만 그렇지 않습니다.

누구든 해결 방법을 알고 있습니까?

답변

0

나는 사용자가 누르는 제출 버튼에 관계없이 전체 양식이 항상 제출 될 것이라고 믿습니다. 검색 기능을 만들고 싶다면 데이터를 가져 와서 표시하는 AJAX를 만들어야합니다. jQuery를 사용하면 양식 제출을 중지 할 수 있지만 버튼 클릭 기능에서 FALSE를 반환 할 수 있습니다 (js에서 작성할 수 있음). 당신은 아마 드루팔 (Drupal form) api의 장점을 사용할 수 없을 것입니다. 당신은 jQuery의에서는 event.preventDefault()를 사용할 수

+0

계획은 버튼에 AHAH 콜백을 추가 할 그래서 백그라운드에서 위키 백과에 쿼리를 해고 할 수와 함께 몸 필드를 대체입니다 사용자가 검색을 클릭 한 후 텍스트. CCK는 Add More 버튼을 사용하여이 작업을 수행하므로 계속 파고들 것입니다. 어쨌든 고마워. jquery 등을 최후의 수단으로 사용할 수 있습니다. – hitfactory