【问题标题】:How do I trigger a Drupal-Function with Javascript/jQuery?如何使用 Javascript/jQuery 触发 Drupal 函数?
【发布时间】:2013-05-05 00:04:28
【问题描述】:

我有一个具有不同值的复选框。当用户更改复选框时,我将触发 Drupal-Function field_attach_update http://api.drupal.org/api/drupal/modules!field!field.attach.inc/function/field_attach_update/7

我知道如何使用 jQuery 检查复选框更改,但我如何触发 Drupal-Function?

【问题讨论】:

    标签: drupal drupal-7


    【解决方案1】:

    您需要查看Form API ajax options。具体来说,我认为您需要定义一个调用 field_attach_update 的 ajax['callback'] 函数。

    <?php
    function my_form_func($form, $form_state) {
      $my_checkbox_val = isset($form_state['values']['my_checkbox']) ? $form_state['values']['my_checkbox'] : NULL;
      $form['my_checkbox'] = array(
        '#type' => 'checkbox',
        '#title' => t('Check me'),
        '#default_value' => $my_checkbox_val,
        '#return_value' => $nid, // Assuming you are working with a node, but could be any entity
        '#ajax' => array(
          'callback' => 'my_form_field_update_func',
          'event' => 'click',
        ),
      );
      return $form;
    }
    
    function my_form_field_update_func($form, $form_state) {
      if (isset($form_state['values']['my_checkbox'])) {
        $node = node_load($form_state['values']['my_checkbox']);
        field_attach_update('node', $node);
      }
      return $form['my_checkbox'];
    }
    ?>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-15
      • 1970-01-01
      相关资源
      最近更新 更多