首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在Drupal8联系人表单上自定义提交按钮?

如何在Drupal8联系人表单上自定义提交按钮?
EN

Stack Overflow用户
提问于 2016-06-19 04:11:25
回答 3查看 3.5K关注 0票数 0

我在我的Drupal8站点上有一个联系人表单,我想删除预览按钮,并定制提交按钮的html。

我在我的主题中尝试过:

代码语言:javascript
复制
function mytheme_form_contact_message_feedback_form_alter(&$form, \Drupal\Core\Form\FormStateInterface $form_state, $form_id) {

  $form['submit']['#prefix'] = '<div class="contact-form-btn col-xs-12 col-md-10 col-md-offset-2 no-pad-left">';
  $form['submit']['#suffix'] = '</div>';
  $form['submit']['#value'] = 'Submit';
  $form['submit']['#title'] = 'Submit';

}

但这似乎既不会改变包装它的html,也不会改变按钮本身的标签。

另外,如果你有任何关于如何删除预览按钮的建议,我将不胜感激!

EN

回答 3

Stack Overflow用户

发布于 2016-06-20 15:26:54

你的代码应该是

代码语言:javascript
复制
function mytheme_form_contact_message_feedback_form_alter(&$form, \Drupal\Core\Form\FormStateInterface $form_state, $form_id) {

    $form['actions']['submit']['#prefix'] = '<div class="contact-form-btn col-xs-12 col-md-10 col-md-offset-2 no-pad-left">';
    $form['actions']['submit']['#suffix'] = '</div>';
    $form['actions']['submit']['#value'] = 'Your value';
}

谢谢

票数 2
EN

Stack Overflow用户

发布于 2016-06-20 02:00:30

我不确定为什么我在上面做的时候它不能工作--因为它适用于表单上的所有其他字段,但是here发布的解决方案可以工作。

票数 1
EN

Stack Overflow用户

发布于 2018-08-11 02:22:01

只是为了阐明我从上面答案中的链接中获得的工作原理。

在我的mytheme.theme文件中,我放入了以下代码,我既可以删除预览按钮,也可以更改提交按钮文本。

代码语言:javascript
复制
function mytheme_form_alter(&$form, \Drupal\Core\Form\FormStateInterface $form_state, $form_id) {

  if (in_array($form_id, ['contact_message_feedback_form', ])) {
    $key = ($form_id == 'contact_message_feedback_form') ? 'actions' : 'basic';
    $form[$key]['submit']['#value'] = 'My Submit Message';
    $form[$key]['preview']['#access'] = FALSE;
  }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37901208

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档