【问题标题】:How to prepopulate a wufoo field with an URL?如何使用 URL 预填充 wufoo 字段?
【发布时间】:2016-05-09 01:04:00
【问题描述】:

Wufoo 似乎有一个错误,因为我无法使用 url 预填充嵌入的 Wufoo 表单的字段。我正在使用 javascript 嵌入方法,您可以使用 'defautValues' 选项进行初始化。

不幸的是,如果我用 url 初始化一个字段(例如:'defaultValues':'Field1=https://youtube.com'),Wufoo 会从 url 中去除 1 个斜杠,这使其无效。

我尝试对 url 进行“urlencoding”(例如:'defaultValues':'Field1=https%3A%2F%2Fyoutube.com'),但 wufoo 产生错误并且不显示表单。

这是一个示例表单,您可以自己尝试查看行为:

<div id="wufoo-mrmifr316ya92y">
Fill out my <a href="https://democratech.wufoo.com/forms/mrmifr316ya92y">online form</a>.
</div>
<script type="text/javascript">var mrmifr316ya92y;(function(d, t) {
var s = d.createElement(t), options = {
'userName':'democratech',
'formHash':'mrmifr316ya92y',
'autoResize':true,
'height':'259',
'async':true,
'host':'wufoo.com',
'defaultValues':'Field1=https://youtube.com', //removes 1 slash (https:/youtube.com)
//'defaultValues':'Field1=https%3A%2F%2Fyoutube.com', //produces an error
'header':'hide',
'ssl':true};
s.src = ('https:' == d.location.protocol ? 'https://' : 'http://') + 'www.wufoo.com/scripts/embed/form.js';
s.onload = s.onreadystatechange = function() {
var rs = this.readyState; if (rs) if (rs != 'complete') if (rs != 'loaded') return;
try { mrmifr316ya92y = new WufooForm();mrmifr316ya92y.initialize(options);mrmifr316ya92y.display(); } catch (e) {}};
var scr = d.getElementsByTagName(t)[0], par = scr.parentNode; par.insertBefore(s, scr);
})(document, 'script');</script>

你确认错误了吗?除了从字段中删除 https:// 之外,还有其他解决方法吗(这对我来说不是一个很好的解决方法)?

这个问题已经在这里问过:Why cant I add a URL as a prefilled Wufoo field entry?,但由于没有回答,我想我会问一个更详细的问题,并举一个例子来实际尝试代码。

【问题讨论】:

    标签: javascript html forms wufoo


    【解决方案1】:

    这并不是真正的答案,而是在某些情况下可行的解决方法。如果您正在使用 wufoo webhook 通知,您可以对预填充的 wufoo 表单发送给您的“修剪过的” url(只有 1 个斜线的那个)进行后处理,以确保在将 url 保存到数据库中之前添加第二个斜线(要不然)。为此,我使用如下 ruby​​ 函数:

    def fix_wufoo_bug(url)
        url.gsub!(':/','://') if url.match(/https?:\/\//).nil?
        return url
    end
    

    【讨论】:

      【解决方案2】:

      刚收到 Wufoo 技术支持的答复(周日的问题很快!):

      感谢您与我们联系。很抱歉听到您对此有疑问。 URL mods 确实可以与 / 一起使用,但是如果将多个放在一起,它 只能显示第一个。很抱歉那个坏消息。 恐怕即使您是 使用不同的字段,例如单行文本字段。

      您可以做的只是预定义该字段 www.youtube.com 而不是http://youtube.com。这样你仍然可以 添加网站,但它只是没有https。对不起你 不能在这里做你想做的事。让我们知道您是否还有其他 问题。

      最好的,

      所以看起来这确实是一个错误,并且没有适当的方法来做到这一点。

      【讨论】:

        猜你喜欢
        • 2021-12-10
        • 1970-01-01
        • 2015-11-21
        • 1970-01-01
        • 2018-03-31
        • 2019-04-04
        • 1970-01-01
        • 2022-08-18
        • 1970-01-01
        相关资源
        最近更新 更多