0

我正在使用 Drupal 7.15,并将 Webform 设置为包含在联系人页面(基本页面)中的块。基本的联系人页面具有可编辑的侧边栏内容,然后是 Webform 块作为主要内容。我遇到的问题是提交时,Webform 转到其自己的别名“general-inqueries”,而不是联系我们别名“contact-us”。我希望它返回到基本页面联系我们任何验证错误和/或确认消息。

似乎表单操作始终是 Webform 别名,但是当我尝试将别名更改为基本页面联系我们别名 (contact-us) 时,它说这个别名已经在使用中。

在不为错误或成功确认创建单独页面的情况下,如何修改操作以返回原始页面并提交任何消息?我不希望我们 JS 在事后设置表单动作。如果错误/成功消息没有传递给它,那甚至可能对我没有帮助。

如果您想看一下,这是测试服务器:

http://69.160.59.20/contact-us

非常感谢任何和所有帮助!

谢谢大家

4

1 回答 1

0

可以使用 form_alter 挂钩设置表单操作。就像是:

my_module_form_alter($form, $form_state, $form_id) {
  if ($form_id == 'webform_id_form') {
    $form['#action'] = url('comment/reply/'. $edit['nid']);
  }
}

如果您使用的是 Drupal 7,请跳过表单 id 检查并尝试:

my_module_form_form_id_alter($form, $form_state) {
}

如果您不知道如何查找表单 id,只需使用上面的函数和 print 语句:

my_module_form_alter($form, $form_state, $form_id) {
  print($form_id);
}

并且表单 id 将是其中包含单词 webform 的那个。

有关表单 api 的更多详细信息:http: //api.drupal.org/api/drupal/developer%21topics%21forms_api_reference.html/7#action

于 2012-08-25T05:14:10.860 回答