【问题标题】:How do I append static data to the END of a dynamically generated url?如何将静态数据附加到动态生成的 url 的末尾?
【发布时间】:2013-02-16 03:36:39
【问题描述】:

我们正在从表单中输入的数据生成一个动态 url。我们目前可以将此动态表单数据附加到 url 中,但需要在动态数据的 END 处包含静态数据。

这是附加数据的 jQuery 的最后一部分:

 var inputs = $('#form1').find('input[type=text]').not('#url');
 var str = "http://yoururlhere.com/dispatch.aspx?"
 var str2 = "&promoid=5030385&option1=999"
 inputs.each(
     function (i, item) {
         str += encodeURIComponent(item.name) + 
             "=" + 
             encodeURIComponent(item.value) + 
             "&";
     });

$('http://yoururlhere.com/dispatch.aspx?').val(str+str2);

 });

我们得到的最终结果: http://yoururlhere.com/dispatch.aspx?address=1290 atlantis ave&zip=80026

这就是我们正在努力实现的目标: http://yoururlhere.com/dispatch.aspx?address=1290 atlantis ave&zip=80026&promoid=5030385&option1=999

最后一位 (promoid=5030385&option1=999) 对于每个表单条目都是不变的。

*编辑*

我通过将静态数据作为隐藏字段放在 html 中来解决它:

 <input type="hidden" name="promoid" value="5030385" id="promoid"/> 

感谢大家的cmets和帮助!

【问题讨论】:

  • 你为什么使用val函数?
  • StackOverflow 上的其他人建议将表单数据附加到 url
  • 我认为您的代码中还有另一个问题。您可以发布更多代码或jsfiddle jsfiddle.net吗?

标签: javascript jquery forms url redirect


【解决方案1】:

试试这个

 var inputs = $('#form1').find('input[type=text]').not('#url');
  var str = "http://yoururlhere.com/dispatch.aspx?"
  var str2 = "&amp;promoid=5030385&option1=999"

   inputs.each(function (i, item) {
   str += encodeURIComponent(item.name) + "=" + encodeURIComponent(item.value) + "&";
 });
   str = str+str2;
});

【讨论】:

  • 这听起来像是可行的!但这就是我们尝试时得到的结果:yoururlhere.com/dispatch.aspx?address=4350+SW+Galewood+Street&apt=103&zip=97035
猜你喜欢
  • 2014-04-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-21
  • 1970-01-01
  • 2011-02-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多