代码之家  ›  专栏  ›  技术社区  ›  balexandre

如何用查询字符串值设置wufoo输入?

  •  2
  • balexandre  · 技术社区  · 15 年前

    我有一个wufoo表单,我想用直接来自查询字符串的值填充其中一个字段。

    alt text http://www.balexandre.com/temp/2010-07-26_2057.png

    正常的jquery调用不会返回任何内容。

    jQuery("#Field13")
    

    所以,所有使用这个的设置,只是没有完成

    jQuery("#Field13").val( my_qs_value );
    

    alt text http://cl.ly/1n5W/content

    我正在使用 嵌入javascript 来自wufoo的代码(不是iframe),以及 免费账户 ,我也在使用 JQuery 而不是用于调用jquery方法的美元符号。

    我能试试什么吗?还是有一个默认设置可以放置它?


    编辑

    从chris answer我得到了所有工作,在wufoo javascript代码中,我添加了 defaultValues 将调用返回所需信息的方法的参数。

    'defaultValues':'Field13=' + getQuerystring('pname',''),
    

    以及我从中获取的getQueryString方法 Blogging Developer 地点:

    function getQuerystring(key, default_)
    {
      if (default_==null) default_=""; 
      key = key.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
      var regex = new RegExp("[\\?&]"+key+"=([^&#]*)");
      var qs = regex.exec(window.location.href);
      if(qs == null)
        return default_;
      else
        return qs[1];
    }
    

    我们无法访问wufoo iframe,因为它是wufoo域,所有尝试都将以跨域错误调用结束。这是最好的解决方案,也是乌佛的方法。

    1 回复  |  直到 7 年前
        1
  •  5
  •   Chris Coyier    15 年前

    查看我们关于预填wufoo表单的URL修改的文档: http://wufoo.com/docs/url-modifications/

    基本上,在javascript嵌入代码中,可以向预填充字段传递一个附加参数: 'defaultvalues':'field5=wufoo&field6=today'

    在这种情况下,您需要使用任何服务器端技术将它们从URL中拉出,然后使用该数据流行JavaScript参数。

    jquery无法访问内部字段的原因是表单位于iframe中(即使使用了javascript嵌入方法),而javascript不能这样查看iframe。此外,屏幕截图中有jquery(“field13”),如果表单实际上在同一页上,则需要像上面的文本中那样是jquery(“field13”)。

    推荐文章