【问题标题】:call function on submit form and display sum of two values在提交表单上调用函数并显示两个值的总和
【发布时间】:2014-06-24 13:10:00
【问题描述】:

我正在为 Drupal 7 开发简单的自定义模块,它采用两个数值并在同一页面上提交两个值的显示总和。

我已准备好表单,但尚未完成,但我想在用户提交表单时调用 calculateFunction() 函数,获取参数和总和值...

信息

name = form_test
description = Small module which demo how to create input form in custom module.
core = 7.x

模块 php

<?php
function form_test_menu()
{
    $items['formtest'] = array(
        'title' => 'Form Test',
        'page callback' => 'drupal_get_form',
        'page arguments' => array('form_test_form'),
        'access callback' => TRUE, 
    );
    return $items;
}

function form_test_form($form,&$form_submit) {
    $form['firstname'] = array(
        '#title' => t('First Number'),
        '#type' => 'textfield',
        '#required' => TRUE,
    );
    $form['lastname'] = array(
        '#title' => t('Second Number'),
        '#type' => 'textfield',
    );   
    $form['submit'] = array(
        '#type' => 'submit', 
        '#value' => t('Run Function'));

    calculateFunction($form);

    return $form;
}

function calculateFunction()
{
    echo "sum of two numbers.....";
}
?>

【问题讨论】:

    标签: javascript php drupal-7 drupal-forms


    【解决方案1】:

    您需要将 $form['#submit'] 设置为包含提交表单时要调用的函数名称的数组,而不是直接调用 calculateFuction()。

    $form['submit'] 只是创建提交表单元素。 #submit 设置提交到哪个回调函数。

    您还可以选择设置 $form['#validate'] 来验证提交的数据。

    请参阅 Drupal.org 上的 Form API tutorial

    提交回调可能如下所示:

    /**
     * FAPI Callback for form_test_form().
     */
    function calculateFunction($form, &$form_state) {
      $values = $form_state['values'];
      $sum = $values['first_name'] + $values['last_name'];
      drupal_set_message('The sum is ' . $sum);
    }
    

    【讨论】:

      猜你喜欢
      • 2013-04-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-01
      • 1970-01-01
      相关资源
      最近更新 更多