【问题标题】:How to show-up AJAX post data from WSForm Wordpress plugin form on the same page?如何在同一页面上显示来自 WSForm Wordpress 插件表单的 AJAX 发布数据?
【发布时间】:2022-01-18 21:07:43
【问题描述】:

我在我的 Wordpress 网站上安装了 WSForm Pro 表单管理插件。该插件利用 AJAX 作为发布表单数据的唯一方法,以便在提交时仅更新表单区域,而不是整个页面。提交时,我需要在同一页面上显示表单的数据。

我做了什么。通过向我的主题的functions.php添加一个函数,我能够将表单的数据作为会话变量获取:

// Add action to process WS Form form data
add_action('wsf_action_tag', 'wsf_action_function', 10, 2);
// My function for action
function wsf_action_function($form, $submit) {
    // Get submit value (Change '123' to your field ID)
    $submit_value = wsf_submit_get_value($submit, 'field_18');
    session_start();
    $_SESSION['form'] = $submit_value;
    // Do something with $submit_value here
    // ...
}

我还在页面中添加了以下 php 代码,以显示上面的会话变量:

<?php
session_start();
$form = $_SESSION['form'];
var_dump($form);
?>

问题。当我提交表单时,除了内置的成功消息(如 AJAX 所假设的那样)之外没有任何变化,尽管在页面重新加载时已成功显示提交的数据。如果我可以拥有自己的 AJAX 脚本,我想稍微修改它以重新加载整个页面。但是由于我使用的是第三方插件,所以任务太复杂了。

问题是如何更改代码的任何部分以在同一页面上提交时显示表单的数据?

【问题讨论】:

  • 您不能在 AJAX 操作中将输出打印到屏幕上。 var_dump($form); 不应该做任何事情。此外 .. 这样的会话不适用于 WordPress。
  • @HowardE,非常感谢您的评论!我已经意识到没有 php 代码可以用于提交表单。完成这项工作的原因是向functions.php添加函数、上面的php代码和内置的重定向操作(请参阅下面的我的帖子)。会议对我有用!

标签: php ajax wordpress forms plugins


【解决方案1】:

在 WSForm 功能中找到了解决方法!从“编辑表单”中选择“操作”、“添加”、“重定向”并将页面的重定向指向自身。 Click to to see the screenshot

【讨论】:

  • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
猜你喜欢
  • 1970-01-01
  • 2022-01-01
  • 1970-01-01
  • 2021-08-02
  • 1970-01-01
  • 1970-01-01
  • 2013-04-24
  • 2018-09-02
  • 1970-01-01
相关资源
最近更新 更多