我想从特定的Drupal webform中删除提交按钮,这是否可行,如果可以,我该怎么做?
如果可能的话,我也想从同一表格中删除前一个按钮。
答案 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)
webform-form.tpl.php
webform-form-{nid}.tpl.php
,其中nid等于您的节点ID print drupal_render($form['submitted']);
之后只添加一行,
unset($form['actions']['submit']);
它对我有用。
答案 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.php
或webform-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“(如果你有这样的文件) - 我花了一段时间才弄明白:)