标签: drupal-forms

将文本(只是文本!)添加到Drupal 7中的表单

好吧,我终于想出了如何通过form APIDrupal 添加(或编辑)表单控件.

但现在,我想在表单中添加文字.不是<textarea>,不是<textfield>; 两者都可以由用户编辑.我想补充一下<p>static text</p>,由我写的,由用户阅读.

如何做到这一点?

forms api drupal drupal-7 drupal-forms

53
推荐指数
1
解决办法
4万
查看次数

AJAX表单验证并提交

我在Drupal 7中创建了一个表单并希望使用AJAX.我将其添加到提交按钮数组:

"#ajax" => array(
  "callback" => "my_callback",
  "wrapper" => "details-container",
  "effect" => "fade"
)
Run Code Online (Sandbox Code Playgroud)

这有效,但忽略了整个验证功能.如何在my_callback()调用之前验证表单?如何在AJAX表单上显示状态或错误消息?

ajax jquery drupal-7 drupal-forms

13
推荐指数
4
解决办法
4万
查看次数

drupal:表单API,根据输入动态隐藏或显示字段

我正在构建一个表单模块.其中一个早期字段是一组单选按钮.默认情况下,选择第一个按钮.接下来我将有一系列选择框.一个人需要看得见,其他人看不见.然后,当用户选择不同的单选按钮时,我希望显示或隐藏不同的选择框.如何在默认情况下隐藏字段和标签,并在以后根据选择哪个单选按钮(或其他选择框选项)显示它?

php drupal drupal-7 drupal-fapi drupal-forms

12
推荐指数
2
解决办法
1万
查看次数

在Drupal 7表单API中 - 如何创建"按钮"类型的输入(不是"提交")?

我试图有一个按钮不是"提交"类型的按钮,而是一个普通的"按钮"类型,使用drupal 7的形式api,但我似乎无法得到它.

我尝试了很多东西,比如将#type设置为'button',将#button_type设置为'button',但无论我做什么,drupal总是创建一个"submit"类型的按钮.

drupal drupal-fapi drupal-forms

10
推荐指数
2
解决办法
3万
查看次数

如果用户属于某个角色,如何在用户登录后将其重定向到特定页面?

我们的成员列表中的某些用户附加了角色"供应商".所有这些成员在登录时都会被重定向到某个页面.如何实现这一目标?

drupal drupal-6 drupal-forms

7
推荐指数
3
解决办法
3万
查看次数

如何在自定义模块中将自定义表单添加到自定义块

我做了一个自定义的Drupal模块.在其中我创建了一个块和一个表单.如何使表单显示在块内容中?干杯.

区号:

function module_block($op = 'list', $delta = 0, $edit = array()) { 
  $block = array();

  if ($op == "list") {
    // Test
    $block[0]["info"] = t('Block');
  }
  else if ($op == 'view') {
    $block['content'] = module_function();
  }

  return $block;

}


// End module_block
Run Code Online (Sandbox Code Playgroud)

表格代码:

function module_my_form($form_state) {

  $form['email'] = array(
    '#type' => 'textfield',
    '#title' => t('Email'),
    '#required' => TRUE,
  );

  $form['submit'] = array(
    '#type' => 'submit',
    '#value' => 'Submit',
  );
  return $form;
}
Run Code Online (Sandbox Code Playgroud)

再次欢呼,任何帮助.

drupal drupal-forms drupal-blocks

7
推荐指数
1
解决办法
4462
查看次数

创建仅包含月份和年份的日期字段 - Drupal

我正在Drupal创建一张信用卡表单.我需要一个日期选择字段,用户可以在其中选择信用卡到期日期,该日期仅包括月份和年份.

Drupal表单#type'date'生成一个日期选择器,它有day-month-year选项.我只需要month-year.有帮助吗?

drupal drupal-forms

6
推荐指数
2
解决办法
1万
查看次数

drupal #default_value未在drupal_render的select选项中应用

我尝试的形式打印Drupal的选择选项'元素.我觉得drupal_render不适用#default_value.每天的事情是确定的,除了#default_value不适用.
问题在哪里?有谁知道我怎么做到这一点?不#default_value接受string的价值?

这是我的代码伪:

function test_menu(){
$items=array();

    $items['admin/config/regional/test']=array(
    'title' => 'test',
    'description' => t('test'),
    'page callback' =>'drupal_get_form',
    'page arguments' => array('test_function'),

);
$items[]=array();
return $items;
}


function test_function(){
 $header = array
  (
  'test1' => t('test1'),
  'test2'=> t('test2'),
  );
 $a=(1,2,3);
 $$options=array();
 foreach($a as $i=>$v)
  {
    $f['type'] = array(
   '#type' => 'select',
   '#options' => array(1,2,3,4),
   '#default_value'=>1,
    );
$options += array($name=>array( 'test1' => $v,
   'test2'=> drupal_render($f['type']) ,
  }
   $form['table'] = array
   (
   '#type' => …
Run Code Online (Sandbox Code Playgroud)

render default-value drupal-7 drupal-render drupal-forms

5
推荐指数
1
解决办法
7741
查看次数

Drupal 7:带有链接的复选框标签

是否可以在复选框的标签/标题中添加简单的html链接?我尝试了以下代码:

<?php
$form['legal']['#type'] = 'checkbox';
$form['legal']['#required'] = TRUE;
$form['legal']['#title'] = t(
  'You must accept our @tos and @legals',
  array(
    '@tos'    => l(t('terms of service'), 'node/6'),
    '@legals' => l(t('legals'), 'node/7')
  )
);
?>
Run Code Online (Sandbox Code Playgroud)

但是这会产生以下标签(html标记不是"翻译"):

"你必须接受我们的<a href ="/ node/6">服务条款</ a>和<a href ="/ node/7"> legals </ a>*"

(我在开口括号后添加了空格,以便它不会转换为我想要的链接)

这样的事情不可能吗?我是drupal的新手.也许有人可以帮助我...谢谢!

drupal drupal-7 drupal-fapi drupal-forms

5
推荐指数
1
解决办法
3629
查看次数

使用FormStateInterface :: getTriggeringElement()发出"two dimentionnal'添加另一个项'"的问题

我正在学习drupal 8.我想创建一个包含'two dimensionnal''添加另一个项目'表单的页面.我的代码几乎运行良好,但是当我向房子添加房间时我有一个奇怪的行为(我的调试日志中有一个来自FormStateInterface :: getTriggeringElement()的奇怪值,请参见底部的代码和日志)

第一:我有两个结构,房子和房间.用户可以创建一些房屋,每个房子,他可以创建一些房间:

在此输入图像描述

当我添加一些房子,表格工作正常:

在此输入图像描述

当我将一些房间添加到最后一个房子时,表格也可以正常工作:

在此输入图像描述

但是,当我向任何"没有最后"的房子添加一些房间时,表格不能正常工作(在屏幕截图中,我点击了一次"阻止房屋"中的"添加房间",标签为"房子1"成了"房子2"(?!),点击添加5个房间(?!):

在此输入图像描述

这里是我的代码和一个奇怪的调试日志,我不解释为什么我得到这个值(来自room_addMoreSubmit回调中的getTriggeringElement(),这是我认为的问题)

<?php

namespace Drupal\projet\Form;
use Drupal\Core\Form\FormBase;
use Drupal\Core\Form\FormStateInterface;

class HouseForm extends FormBase {

  public function getFormId(){
    return 'custom_rooms_form';
  }

  function buildForm(array $form, FormStateInterface $form_state) {



    $house_count = $form_state->get('house_count');

    if (is_null($house_count)) {
      $house_count = 1;
      $form_state->set('house_count', $house_count);
    }

    $form['house'] = array(
        //'#tree' => TRUE,
        '#prefix' => '<div id="house-replace">',
        '#suffix' => '</div>'
    );

    for ($house_delta = 0; $house_delta < $house_count; $house_delta++) {
      if (!isset($form['house'][$house_delta])) {

        $room_count[$house_delta] = $form_state->get('room_count_'.$house_delta);

        if (is_null($room_count[$house_delta])) {
          $room_count[$house_delta] = …
Run Code Online (Sandbox Code Playgroud)

drupal-ajax drupal-forms drupal-8 programmatically-created

5
推荐指数
1
解决办法
187
查看次数