Skip to content
Snippets Groups Projects
Select Git revision
  • 5cb3a2c3f230eb971ea29a6428c16a050f71ed83
  • master default protected
2 results

script.js

Blame
  • ajax.inc 34.87 KiB
    <?php
    // $Id: ajax.inc,v 1.31 2010/04/30 08:07:54 dries Exp $
    
    /**
     * @file
     * Functions for use with Drupal's AJAX framework.
     */
    
    /**
     * @defgroup ajax AJAX framework
     * @{
     * Drupal's AJAX framework is used to dynamically update parts of a page's HTML
     * based on data from the server. Upon a specified event, such as a button
     * click, a callback function is triggered which performs server-side logic and
     * may return updated markup, which is then replaced on-the-fly with no page
     * refresh necessary.
     *
     * This framework creates a PHP macro language that allows the server to
     * instruct JavaScript to perform actions on the client browser. When using
     * forms, it can be used with the #ajax property.
     * The #ajax property can be used to bind events to the AJAX framework. By
     * default, #ajax uses 'system/ajax' as its path for submission and thus calls
     * ajax_form_callback() and a defined #ajax['callback'] function.
     * However, you may optionally specify a different path to request or a
     * different callback function to invoke, which can return updated HTML or can
     * also return a richer set of @link ajax_commands AJAX framework commands @endlink.
     *
     * Standard form handling is as follows:
     *   - A form element has a #ajax member.
     *   - On the specified element, AJAX processing is triggered by a change to
     *     that element.
     *   - The form is submitted and rebuilt.
     *   - The function named by #ajax['callback'] is called, which returns content
     *     or an array of AJAX framework commands.
     *   - The content returned by the callback replaces the div on the page
     *     referenced by #ajax['wrapper'].
     *
     * A simple example of basic AJAX use from the
     * @link http://drupal.org/project/examples Examples module @endlink follows:
     * @code
     * function main_page() {
     *   return drupal_get_form('ajax_example_simplest');
     * }
     *
     * function ajax_example_simplest($form, &$form_state) {
     *   $form = array();
     *   $form['changethis'] = array(
     *     '#type' => 'select',
     *     '#options' => array(
     *       'one' => 'one',
     *       'two' => 'two',
     *       'three' => 'three',
     *     ),
     *     '#ajax' => array(
     *       'callback' => 'ajax_example_simplest_callback',
     *       'wrapper' => 'replace_textfield_div',
     *      ),
     *   );
    
     *   // This entire form element will be replaced with an updated value.
     *   $form['replace_textfield'] = array(
     *     '#type' => 'textfield',
     *     '#title' => t("The default value will be changed"),
     *     '#description' => t("Say something about why you chose") . "'" .
     *       (!empty($form_state['values']['changethis'])
     *       ? $form_state['values']['changethis'] : t("Not changed yet")) . "'",
     *     '#prefix' => '<div id="replace_textfield_div">',
     *     '#suffix' => '</div>',
     *   );
     *   return $form;