源码网_提供网站源码、discuz、wordpress主题与插件和站长教程等资源的下载服务

eyoucms怎么抓取提交表单时当前链接的url

image.png

在 EyouCMS 中,要在提交表单时获取并传递当前页面的 URL,有几种方法可以实现。这里为您介绍最可靠和常用的两种方法。

方法一:使用隐藏域 + Javascript(推荐,最通用)

这是最常用且有效的方法。原理是:在表单中放置一个隐藏的输入框,然后通过 JavaScript 在页面加载时或表单提交前,将当前页面的 URL 自动填入这个隐藏域中。

操作步骤:

1. 在表单中添加一个隐藏域

找到你的表单模板文件(可能是 form.Htmlmessage.html等),在 <form>标签内部添加一个 hidden类型的输入框。

<PRe class="ybc-pre-component ybc-pre-component_not-math"><form action="{:url('/API/index/message')}" method="post">          <!-- 其他你的表单字段,比如: -->     <input type="text" name="username" placeholder="您的姓名">     <input type="tel" name="phone" placeholder="联系电话">          <!-- 核心:添加这个隐藏域来捕获URL -->     <input type="hidden" name="from_url" id="from_url" value="">          <button type="submit">提交留言</button> </form>

2. 使用 JavaScript 为隐藏域赋值

在表单下方或页面底部,写入一段简单的 JavaScript 代码,将当前页面的完整 URL 赋值给这个隐藏域。

<script>
    // 页面加载时执行
    document.addEventListener('DOMContentLoaded', function() {
        // 获取隐藏域元素
        var urlField = document.getElementById('from_url');
        // 将当前页面的完整URL赋值给它
        if (urlField) {
            urlField.value = window.location.href;
        }
    });
</script>

完整代码示例:

<form action="{:url('/api/index/message')}" method="post">
    <input type="text" name="username" placeholder="您的姓名" required>
    <input type="tel" name="phone" placeholder="联系电话" required>
    
    <!-- 隐藏域,用于存储来源URL -->
    <input type="hidden" name="from_url" id="from_url" value="">
    
    <button type="submit">提交</button>
</form>

<script>
    // 自动填充当前URL到隐藏域
    document.getElementById('from_url').value = window.location.href;
</script>

方法二:使用 php 直接输出(适用于 EyouCMS 模板)

如果你的表单是直接写在 EyouCMS 的模板文件(如 .html)中,并且当前环境就是你要捕获的 URL,你也可以使用 EyouCMS 的模板变量来直接输出。

操作步骤:

直接在隐藏域的 value属性中使用 {$param}来获取。

<form action="{:url('/api/index/message')}" method="post">
    <input type="text" name="username">
    <input type="tel" name="phone">
    
    <!-- 使用 EyouCMS 的服务器端变量 -->
    <input type="hidden" name="from_url" value="{$param}">
    
    <button type="submit">提交</button>
</form>

注意: 这种方法获取的 $param变量可能不总是包含完整的 URL(可能只是路由参数),其可靠性取决于你页面的路由方式。因此,方法一(JavaScript)是更通用、更可靠的选择。

关键后续步骤:在后端保存这个 URL 值

仅仅在前端捕获 URL 是不够的,你还需要在后台能够接收并保存这个值。

1. 确保你的自定义表单包含该字段

  • 进入 EyouCMS 后台 -> 系统 -> 自定义字段

  • 字段类型 选择 内容(如果你的表单是留言板)或你对应的自由表单。

  • 点击 添加字段,创建一个新的字段,例如:

    • 字段名称: from_url

    • 表单提示: 来源页面URL

    • 字段类型: 单行文本

2. 在后台查看数据

提交表单后,你可以在后台的留言管理或自由表单的数据管理中,看到每条记录都包含了 from_url字段及其值,也就是用户提交表单时所在的页面地址。

总结与建议

方法

优点

缺点

适用场景

方法一:隐藏域+JS

最可靠、最通用,能 100% 获取到浏览器地址栏的完整 URL。

需要客户端支持 JavaScript(现代浏览器均支持)。

强烈推荐,适用于所有情况。

方法二:PHP 模板变量

不依赖 JavaScript,直接在服务器端输出。

获取的 URL 可能不完整,依赖于 EyouCMS 的路由规则。

仅当你能确定 {$param}变量包含完整 URL 时使用。

最佳实践建议:

直接采用 方法一,简单有效,能准确无误地捕获到来源页面的 URL,便于你后续进行数据分析(例如,分析哪个页面的表单转化率最高)。

本文链接:http://www.7ov.cn/xinwendongtai/2092.html

版权声明:站内所有文章皆来自网络转载,只供模板演示使用,并无任何其它意义!

联系客服
网站客服 业务合作 在线客服QQ
294169012
微信号
微信号
微信号
返回顶部