欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

Drupal 7 - 如何添加另一个按钮到网络表单?

Drupal 7 - 如何添加另一个按钮到网络表单?

jdolor 发布于 2019-02-26• 在 add • 最后更新 2019-02-26 22:00• 5 浏览        

我想知道,除了提交按钮之外,有谁知道如何在Drupal 7中添加另一个按钮到webform?我试图通过谷歌,并在Drupal论坛问这个问题,没有运气。任何人都可以请帮忙?

添加评论            
分享            


               

               

oest                    

Webform是一个drupal表单,你可以使用hook_form_alter:假设你有一个名为mymodule的自定义模块,你的webform id是'webform_client_form_XXXXX'。然后使用下面的示例代码。

/**
 * Implements hook_form_alter.
 */
function mymodule_form_alter(&$form, &$form_state, $form_id) {
  switch ($form_id) {
    case 'webform_client_form_XXXXX':
      $form['actions']['custom_submit']  = array(
        '#type' => 'submit',
        '#value' => t('Custom Button'),
        '#submit' => array('mymodule_custom_submit'),
      );
      $form['#validate'][] = 'mymodule_custom_validate';
      break;
  }
}
/**
 * Custom validation handler for your webform.
 */
function mymodule_custom_validate($form, &$form_state) {
  // your validation code
}
/**
 * Custom submit handler for your form
 */
function mymodule_custom_submit($form, &$form_state) {
  // your submit handler code
}
                   
更新: 您必须使用yoru模块的名称替换上面代码中的mymodule实例。我也修改了一下hook_form_alter。我建议你在$form['actions']下移动你的提交按钮,这样它就会显示在当前提交按钮的旁边。

清除缓存: 访问/admin/config/development/performance并单击Clear all cache按钮。

要查找weform form-id: 网上This教程讨论如何查找表单ID。请注意,表单标记中使用的id将具有“ - ”(连字符),必须用“_”(下划线)替换才能获得form-id。 另一种方法是在hook_form_alter(我们在上面定义的函数)中打印$ form_id变量并访问webform页面。如果该页面上没有其他表单,则打印的id将是与webform对应的id。如果启用devel模块,则使用优秀的krumo库可以更轻松地显示调试信息。                        
/**
 * Implements hook_form_alter.
 */
function mymodule_form_alter(&$form, &$form_state, $form_id) {
  // Below function would print out the form id in message area if devel module
  // is enabled on the site.
  dpm($form_id);
  switch ($form_id) {
之后删除dpm( $form_id );

2019-02-26 0 0                
               

prem                    

了解webform id比上述方法更容易。您只需要转到:content-> webforms并将鼠标光标放在属于您想要id的webform的编辑选项上。 在导航器屏幕下方,将显示格式为node / id的原始路径。该节点号是webform_client_form_XXX中的XXX。

2019-02-26 0 0                
               

godio                    

您可以在webform中使用类型标记。将标记设为主题,因为它看起来就像与提交按钮一样的按钮。 并为此编写JS。例如,您想要给出重置按钮,然后onclick事件应该清空这些字段中的值。尝试这个。

2019-02-26 0 0                
               

nsunt                    

首先在webform中为按钮创建标记然后使用java脚本为此单击它根据您的要求处理请求。

来自  https://oomake.com/question/4184050

普通分类: