2013-03-01 69 views
0

我们从输入到表单的数据生成动态url。我们目前能够将这个动态表单数据附加到url中,但需要在动态数据的END处包含静态数据。如何将静态数据附加到动态生成的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"/> 

感谢大家的意见和帮助!

+0

? – 2013-03-01 15:24:29

+0

StackOverflow上的其他人推荐将表单数据附加到网址 – Tony 2013-03-01 15:32:21

+0

我认为您的代码中存在另一个问题。你可以发布更多的代码或jsfiddle http://jsfiddle.net? – 2013-03-01 15:42:00

回答

0

试试这个你为什么要使用`val`功能

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; 
}); 
+0

听起来像它会工作!但后来这是我们试用时得到的结果: yoururlhere.com/dispatch.aspx?address=4350+SW+Galewood+Street&apt=103&zip=97035 – Tony 2013-03-01 15:30:38

+0

我不明白 – PSR 2013-03-01 15:31:44

+0

现在试试这个代码 – PSR 2013-03-01 15:33:38