2015-01-12 4 views
1

에서 JS 파일에있는 함수 나 모듈에서 자바 스크립트를 포함 시켰에게 "대한 myid"나는이 코드를 사용하여 드루팔에서 개발 봤는데 :전화 드루팔

function myid_init() { 
    drupal_add_js(drupal_get_path("module", "myid") . "js/myid.js"); 
} 

이 내 자바 스크립트는 "myid.js 파일입니다 "

$form['add_button'] = array(
    '#type' => 'button', 
    '#value' => 'Take a picture', 
    '#attributes' => array('onclick' => 'myid_js_start()'),  
); 

내가했던 곳 몰라 : 아래

function myid_js_start(){ 
    alert("hello world"); 
} 

는 경고 기능을 호출하는 버튼을 생성하는 코드는 잘못. 버튼이 나타나지만 알림 기능이 작동하지 않습니다. 아무도 이것으로 나를 도울 수 있습니까?

답변

0

올바른 drupal 디렉토리 구조를 따라 모든 것이 정상적으로되어 있다면 [onclick] 속성을 'myid_js_start()'로 설정할 수 있습니다.

$form['add_button'] = array(
    '#type' => 'button', 
    '#value' => 'Take a picture', 
    '#attributes' => array('onclick' => 'myid_js_start'),  
); 

등의 문제가 해결 될 수도 있습니다.

코드를 테스트하는 데 드루팔 시스템 설정이 없습니다. 그것은 그 밖의 뭔가가 될만한 가치가 있습니다.

+0

"()"을 생략하여 코드 편집을 시도했지만 변경 사항이 없습니다. 버튼을 클릭 할 때마다 페이지가 새로 고침되고 경고 대화 상자가 표시되지 않습니다. –

+1

자, 이제해야 할 일이 있습니다. 먼저 onclick이 호출되는지 여부를 확인하십시오. '#attributes '=> array ('onclick '=> "alert ('hello world '); return false;")' – user3106759

+0

hello world가 나타나지만 자바 스크립트 파일에서 함수를 호출하고 싶습니다. 아마도 Javascript 파일 경로에 문제가있을 수 있습니다. 내가 맞습니까? –

0

#attach을 사용하여 .js 파일을 양식 자체에 연결하십시오.

$form['#attached']['js'] = array(
    drupal_add_js(drupal_get_path("module", "myid") . "js/myid.js"), 
);