我需要在javascript函数中构建url,然后将字符串返回到href

我需要在javascript函数中构建url,然后将字符串返回到href,javascript,href,urlencode,Javascript,Href,Urlencode,我需要从元素调用Javascript函数。。大概是这样的: return queryString; href='javascript:myjavascriptfunction();'。我需要Javascript函数从两个datepicker控件中获取值,构建一个querystring并对其进行URL编码,然后返回它,以便它打开到一个新窗口中。到目前为止,我认为我已经拥有了一切,但我正在努力构建URL并正确返回它。这是迄今为止我的元素 <a href='javascript:myjavas

我需要从
元素调用Javascript函数。。大概是这样的:

return queryString;
href='javascript:myjavascriptfunction();'。我需要Javascript函数从两个datepicker控件中获取值,构建一个querystring并对其进行URL编码,然后返回它,以便它打开到一个新窗口中。到目前为止,我认为我已经拥有了一切,但我正在努力构建URL并正确返回它。这是迄今为止我的
元素

<a href='javascript:myjavascriptfunction();' id="myhyperlink" target="_blank">

结果:单击链接,将打开一个新窗口,其中包含我的父窗口的URL以及附加的函数调用名称

您需要使用window.open()来强制创建一个新窗口,我认为它的行为与您的行为类似的唯一原因是您告诉它在一个新窗口中打开javascript,而它正按照您所说的做

组装好url后,执行
窗口.open(urlvar)

此外,还可以查看如何使用一个优雅降级的onclick创建一个整洁的
。至少,先执行
href=“javascript:void(0)”
,然后执行
onclick=“myjavascriptfunction();return false;”

浏览器无法使用javascript函数的返回值作为链接的href。为了使这项工作按您的意愿进行,您必须在JavaScript中获取A元素并使用其HREF。这是可能的:

 var link = document.getElementById ("myhyperlink");
 link.href = "http://example.com/" + jiggerypokery ();
其中
jiggerypokery()
是您想要创建的任何URL

然而,上面的操作很愚蠢,因为它会覆盖指向自身的链接,用户可能无论如何都要点击它两次。正如Pablo所说,您应该使用
窗口。在这里打开
,在
myjavascriptfunction()


谢谢你,巴勃罗。这就解决了问题。也谢谢你的评论。现在,通过修复此问题,我发现了另一个问题。现在,我发现使用escape函数对datepicker控件中的日期进行URL编码实际上是行不通的。有什么想法吗?也许这是另一个问题。
var gotopage = "http://example.com/" + jiggerypokery ();
window.open (gotopage);