Ajax не работает в Drupal 6 - PullRequest
0 голосов
/ 10 марта 2012

в форме

$form['assignJob'] = array(
                    '#type' => 'checkbox',
                    '#title' => 'AssignJob',
                    '#default_value' => 1,
                    '#suffix'=>"<script>$js</script>"
            )

в $ js я определил JS.

                $js = <<<EOJS
Drupal.behaviors.checkboxrender = function(context) {
  $('#edit-assignJob', context).change(function(event, ui) {
     var method = $(this).val();
     if(method){
        $.get('/assignJob/',null,responseDetails);
     }

  });
  var responseDetails=function(response){
    alert(response);
  }

};
EOJS;

В hook_menu в определенном меню

$items['assignJob'] = array(
        'page callback' => 'assignee',
        'type' => MENU_CALLBACK,
        'access arguments' => array('access administration'),
    );
    return $items;

function assignee() {
    $output='xxxx';
    return drupal_json(array('status' => TRUE, 'data' => $output));
    drupal_exit();
}

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

Когда я рендерил это, я получил warning: call_user_func_array() expects parameter 1 to be a valid callback, function 'assignee' not found or invalid function name in C:\Server\www\drupal-final\includes\menu.inc on line 350.

1 Ответ

0 голосов
/ 11 марта 2012

Я постараюсь вам помочь. Но все, что я знаю, что ответственность за вызов Ajax или javascript - это свойство ahah. прочитайте на drupal api http://api.drupal.org/api/drupal/developer!topics!forms_api_reference.html/6#ahah

Также прочитайте это http://drupal.org/node/348475

Кстати, я никогда не видел суффикса, который принимает сценарий. я всегда использую свойство ахах.

Вы можете скачать этот пример http://www.kristen.org/content/drupal-ahah-form-examples

и прочитайте эту статью http://fuseinteractive.ca/blog/how-create-custom-drupal-ajax-module-0

...