似乎Wufoo有一个bug,因为我无法使用url预填充嵌入式Wufoo表单的字段。我使用的是javascript嵌入方法,您可以使用'defautValues'
选项进行初始化。
不幸的是,如果我使用url初始化一个字段(例如:'defaultValues':'Field1=https://youtube.com'
),那么Wufoo会从网址中删除1个斜杠,这会使其无效。
我尝试了“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?但由于没有回答,我想我会问一个更详细的问题,并举例说明实际尝试代码。
答案 0 :(得分:0)
这不是一个真正的答案,而是一种可以在某些情况下起作用的解决方法。如果您正在使用wufoo webhook通知,您可以对预先填充的wufoo表单发送给您的“修剪”URL(仅有一个斜杠)进行后处理,以确保在将数据库保存到数据库之前添加第二个斜杠(要不然)。为此,我使用如下的ruby函数:
def fix_wufoo_bug(url)
url.gsub!(':/','://') if url.match(/https?:\/\//).nil?
return url
end
答案 1 :(得分:0)
刚收到Wufoo技术支持人员的答复(周日问题很快!):
感谢您与我们联系。很抱歉听到您遇到此问题。 URL mods可以使用/,但如果你把多个放在一起,它 只能显示第一个。对不起那个坏消息。 我担心即使你这样做也没有办法解决这个问题 使用其他字段,例如单行文本字段。
你可以做的只是预定义字段 www.youtube.com而不是http://youtube.com。这样你仍然可以 添加网站,但它不会有https。对不起你 不能做你想要的事情。如果您有任何其他信息,请告诉我们 的问题。
最佳,
所以看来这确实是一个错误,并且没有正确的方法来做到这一点。