【问题标题】:form submission in DrupalDrupal 中的表单提交
【发布时间】:2014-09-04 08:06:44
【问题描述】:

我已经使用 dupal API 在 drupal 中制作了一个自定义模块,并在我的数据库中制作了一个表格 我想要的是将下拉框的值而不是它的索引保存到数据库中...我的 .module 文件是:

<?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['name'] = array(
    '#title' => t('Name'),
    '#type' => 'textfield',
    '#required' => TRUE,
);
$form['college'] = array(
    '#title' => t('College/University'),
    '#type' => 'textfield',
    '#required' => TRUE,
);
$form['education'] = array(
    '#title' => t('Education'),
    '#type' => 'select',
    '#description' => 'Select your higher education .',
    '#options' => array(t('--- SELECT ---'), t('B.tech'), t('MCA'), t('MBA'),t('Graduate')),
    '#required' => TRUE,
);
$form['percentage'] = array(
    '#title' => t('Percentage/CGPA'),
    '#type' => 'textfield',
    '#required' => TRUE,
);
$form['application'] = array(
    '#title' => t('Job Applied'),
    '#type' => 'select',
    '#options' => array(t('---select---'),t('Web Developer'),t('Web Designer'),t('SEO'),t('Marketing')),
    '#required' => TRUE,
);


$form['submit'] = array(
    '#value' => 'Submit',
    '#type' => 'submit',
);
return $form;

}

function form_test_form_submit($form, $form_state) {
global $user;
// Here u can insert Your custom form values into your custom table.
db_insert('drupal')
    ->fields(array(
        'name' => $form_state['values']['name'],
        'college' => $form_state['values']['college'],
        'education' => $form_state['values']['education'],
        'percentage' => $form_state['values']['percentage'],
        'application' => $form_state['values']['application'],

    ))->execute();
drupal_set_message("successfully saved data");

} ?>

所有内容都在一个文件中(.module)....任何帮助将不胜感激。 谢谢。

【问题讨论】:

    标签: drupal-7 drupal-forms


    【解决方案1】:

    解决方案是将选项数组从一个函数传递到另一个函数。要实现这一点,请使用“form_test_form”和“form_test_form_submit”函数的第二个参数。

    function form_test_form($form,&$form_submit) {
      $form_submit['myoptions'] = array(' select', 'option1' .....
    }
    

    然后

    function form_test_form_submit($form,&$form_state) {    
     $myoptions = $form_state['myoptions']; etc ...
    }
    

    【讨论】:

    • 谢谢@progzy ....我已经完成了..你能指导我在drupal 7中从数据库中检索数据的somenice教程吗?...我已经用php做到了,但是同样不适用于drupal
    • 好的。如果对您没问题,请验证答案。对于另一个问题,请打开一个新问题:)
    猜你喜欢
    • 1970-01-01
    • 2011-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多