2012-04-27 100 views
0

我想要的广告两个表单元素的值到一个功能,并能得到第一个加入,但不能制定出正确的方式为第二编码。传递变量进入URL

$(function() { 
    $('#form_orderTracking').click(function(){ 
     $('#CustomerDetails').load('TrackOrder1.asp?OrderID=' + $('#orderID').val()); 
    }); 
}); 

我想添加值的EmailAddress的字段,以便读取网址:

TrackOrder1?OrderID=123456&[email protected] 
+2

' 'TrackOrder1.asp?订单id =' + $( '#单编号')。VAL()+ '&EmailAddress的=' + email'? – 2012-04-27 20:12:01

+0

@Darren库克刚刚添加的OrderID,不要说什么火箭。 – 2012-04-27 20:17:40

回答

3

而是追加查询字符串的URL,你可以把它传递给.load作为第二参数。如果你传递一个对象时,它会使用POST,如果你传递一个字符串,它会使用GET(如你的例子)。

$.param转换对象为字符串,所以它使用GET

$('#CustomerDetails').load('TrackOrder1.asp', $.param({ 
    orderID: $('#orderID').val(), 
    EmailAddress: emailAddress 
})); 

或者你可以附加到你的字符串,像这样:

$('#CustomerDetails').load('TrackOrder1.asp?OrderID=' + $('#orderID').val() + '&EmailAddress=' + emailAddress); 
+1

+1对于'。.param()'。不要经常看到这一点。 – Sampson 2012-04-27 20:18:55

0
var url = 'TrackOrder1.asp?OrderID=' + uriEncodeComponent($('#orderID').val()) + '&EmailAddress=' + uriEncodeComponent(email); 
$('#CustomerDetails').load(url); 

这也是最好通过uriEncodeComponent()运行值,以确保它们被正确编码。