0

通知

$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.

4

1 回答 1

0

我会尽力帮助你的。但我只知道负责 Ajax 调用或 javascript 的是 ahah 属性。阅读 drupal api http://api.drupal.org/api/drupal/developer!topics!forms_api_reference.html/6#ahah

另请阅读此http://drupal.org/node/348475

顺便说一句,我从未见过带 Script 的后缀。我总是使用 ahah 财产。

您可以下载此示例http://www.kristen.org/content/drupal-ahah-form-examples

并阅读这篇文章http://fuseinteractive.ca/blog/how-create-custom-drupal-ajax-module-0

于 2012-03-11T14:53:12.800 回答