如何从特定的Drupal webform中删除提交按钮

时间:2011-03-08 11:11:52

标签: drupal drupal-webform

我想从特定的Drupal webform中删除提交按钮,这是否可行,如果可以,我该怎么做?

如果可能的话,我也想从同一表格中删除前一个按钮。

6 个答案:

答案 0 :(得分:7)

您需要使用hook_form_alter()来定位和更改该表单,如@googletop所示

要取消设置提交,自定义模块中的类似内容将起作用:

<?php
function my_custom_module_form_alter(&$form, &$form_state, $form_id) {

  if ($form_id == 'webform_client_form_130') {
    if ($thiscondition && $thatcondition){
      unset($form['actions']['submit']);
    }
  }
}
?>

对于“上一个”按钮,您只需要在表单数组

中找到它

答案 1 :(得分:4)

  1. 复制文件webform-form.tpl.php
  2. 将其重命名为webform-form-{nid}.tpl.php,其中nid等于您的节点ID
  3. 编辑 - 在print drupal_render($form['submitted']);之后只添加一行,
    添加以下行:unset($form['actions']['submit']);
  4. 它对我有用。

答案 2 :(得分:1)

您可以使用hook_form_alter更改drupal中的任何表单。

答案 3 :(得分:1)

如果您想快速修复原型等,那么您可以隐藏CSS中的按钮。

.block-webform .form-actions {
visibility:hidden;
}

隐形按钮仍占用空间,但您将无法看到它。

答案 4 :(得分:0)

我在webform-form.tpl.php中使用了这些简单的php行,因为创建webform-form-{nid}.tpl.phpwebform-form-[nid].tpl.php(在模板文件中指定)不起作用。 所以我只是在$nid webform上使用if条件来取消设置特定webform节点上的提交按钮。

print drupal_render($form['submitted']);
$arrayWithoutSubmitButton = array( 29, 30, 31, 32);
if( in_array( $nid, $arrayWithoutSubmitButton)){
    unset($form['actions']['submit']);
}

答案 5 :(得分:0)

感谢您和我,Etno的解决方案有效:其他人因某些原因无效。

我要添加的唯一内容是提到的文件位于“/sites/all/modules/webform/templates/webform-form.tpl.php”而不是“/ drupal / sites / all”中的文件/modules/webform/templates/webform-form.tpl.php“(如果你有这样的文件) - 我花了一段时间才弄明白:)