选择表单提交的选项显示不同的值然后发送的内容

时间:2018-06-15 07:32:11

标签: javascript forms select drupal drupal-7

关于选择选项,显示用户值=真实姓名,但提交不同的相关名称=姓名。

为了向组中添加多个成员(opigno中的课程),我在选择选项上实现了所选模块以获得更好的UX,但是而不是显示我想要显示实名的用户名。< /强>

在用户加载循环中使用 $ account-realname 会显示它们,但在提交后它会中断并且不会添加用户。 我认为它希望收到名称

  

$ form ['massadd'] ['#options'] [$ account-&gt; uid] = $ account-&gt; realname

$gid = current($form['group_ids']['#value']); 
$node = node_load($gid);

$form['massadd'] = array(
'#type' => 'select',
'#title' => t('Select students to add to the group'),
'#required' => TRUE,
'#multiple' => TRUE,
    );

$users = entity_load('user');
 foreach ($users as $uid => $account) {
  if ($uid && !in_array($uid, $exclude)) {
    $form['massadd']['#options'][$account->uid] = $account->name; // tried realname instead
   }
  }

  ...

$form['submit']['#weight'] = 0;
// We validate our own way.
unset($form['#validate']);
$form['#submit'][] = 'opigno_simple_ui_form_og_massadd_massadd_form_add_roles';
$form['#submit'][] = 'opigno_simple_ui_form_og_massadd_massadd_form_add_state';
$form['#submit'] = array_merge(array('opigno_simple_ui_form_og_massadd_massadd_form_prepare'), $form['#submit']);

任何方式我都可以在提交之前替换内容 - >&gt;将realname作为 - &gt;名称发送到后端或保持原样,以便表单有效但显示真实姓名而不是名字

更新

现在才意识到这是使用og_massadd模块,该模块仅使用带有propertyCondition的EntityFieldQuery检查用户名并打开separate question if there is a way to cross check with realname

$query->entityCondition('entity_type', 'user')
          ->propertyCondition('name', check_plain($mail));

因此我认为最好的方法可能是在提交内容之前更改内容,因此它可以显示实名,但实际上提交名称,而不是任何想法?

0 个答案:

没有答案