2015-01-12 2 views
1

Я включил JavaScript в модуле «MyID» Я развивается в Друпала, используя этот код:Вызов функции в JS файл с Друпал

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

Это файл мой Javascript «myid.js «:

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

Ниже приведен код, который создает кнопку, которая вызывает функцию оповещения:

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

Я не знаю, куда я пойдите неправильно. Кнопка появляется, но не срабатывает. Кто-нибудь может мне с этим помочь?

ответ

0

Если вы следовали за правильными структурами каталогов drupal, и все, где он должен был быть, может быть, вы устанавливаете атрибуты [onclick] как «myid_js_start()». Попробуйте сделать это как

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

Возможно, это решит проблему.

У меня нет настройки системы drupal на данный момент, чтобы проверить ваш код. Это может быть что-то другое, но стоит попробовать.

+0

Я пробовал редактировать свой код, опустив «()», но все же ничего не изменилось. Страница обновляется каждый раз, когда я нажимаю кнопку, и не появляется диалоговое окно предупреждения. –

+1

Хорошо, вот что вам следует делать. Сначала проверьте, вызван ли ваш onclick или нет. Попробуйте '' #attributes '=> array (' onclick '=> "alert (' hello world '); return false;") ' – user3106759

+0

hello world появляется, но я хочу вызвать функцию в своем файле сценария Java. Возможно, что-то не так с моим файлом Javascript. Я прав? –

0

Прикрепите файл .js к форме, используя #attach.

$form['#attached']['js'] = array(
    drupal_add_js(drupal_get_path("module", "myid") . "js/myid.js"), 
); 
Смежные вопросы