【问题标题】:How to make an ajax call on submit button of a webform?如何在 web 表单的提交按钮上进行 ajax 调用?
【发布时间】:2015-04-16 10:46:43
【问题描述】:

这些是我的代码,我在 template.php 中完成了表单更改。 请给我建议!我通过 webform 模块创建了一个 webform。我的目标是在不加载页面的情况下提交表单。

我的代码如下:

   function business_form_alter(&$form, &$form_state, $form_id) {
     if($form_id == 'webform_client_form_7') { 
        $form['actions']['submit']['#ajax'] = array(
        'callback' => 'business_webform_js_submit',
        'wrapper' => 'webform-client-form-7',
        'method' => 'replace',
        'effect' => 'fade',
    );
   }

   function business_webform_ajax_submit($form, $form_state) {
       $sid = $form_state['values']['details']['sid'];
      if ($sid) {
        $node = node_load($form_state['values']['details']['nid']);
        $confirmation = array(
          '#type' => 'markup',
          '#markup' => check_markup($node->webform['confirmation'], $node-   >webform['confirmation_format'], '', TRUE),
        );
      return $confirmation;
     }
     else {
       return $form;
     }
  }

【问题讨论】:

    标签: ajax drupal drupal-webform submit-button


    【解决方案1】:

    您的代码中有一个小错误。 #ajax['callback'] 函数的名称与实际函数不同。
    您可能想要重命名函数:

    function business_webform_js_submit($form, $form_state)
    

    它应该可以工作。

    【讨论】:

    • 哦!我很抱歉 !!我在这里错误地粘贴了代码,我尝试给出正确的函数名称,但页面仍然加载。感谢您指出我的错误。
    猜你喜欢
    • 2012-02-10
    • 2014-11-02
    • 1970-01-01
    • 1970-01-01
    • 2015-01-25
    • 2014-10-31
    • 2017-07-16
    • 1970-01-01
    • 2021-12-29
    相关资源
    最近更新 更多