2013-01-10 54 views
0

我花了一段时间去了解许多类似的问题,但根据给出的答案,我导致我相信我的设置正确 - 但它不工作,而且我不知道为什么。将URL传递给Javascript函数

我是一个Javascript/jQuery的新手,所以很有可能(或者很可能!)我错过了一些完全明显的东西。

我有一个大'主'div的页面,我正在通过导航使用jQuery .load加载内容。这一切都很好。但是,一些目标页面数据量很大,所以我正在尝试集成一些内容以向用户指示该页面正在加载。因为有无数的导航元素,而不是具有多种功能(即一个用于每个导航元素),我试图做一个单一的功能,像这样......

<script type="text/javascript"> 
function loadPage(pgurl) { 
    $('#main').html('<p align="center">Loading...</p>'); 
    $('#main').load(' +pgurl+ '); 
} 
</script> 

我的问题是在导航中点击。在此之前,我的onclick内的.load(即的onclick = “$( '#主')的负载( '/页/ testpage /');”),并且工作得很好。现在我通过onclick触发loadPage函数,它正在加载一个黑色页面(萤火虫告诉我是网站根目录)。

这里是我的onclick代码;

<a onclick="loadPage('/pages/testpage/');return false;">Test</a> 

我得到没有错误返回。我只能假设loadPage函数得到一个零值,而不是/ pages/testpage/- 但我不知道为什么!

指针赞赏 - 多挠头会在这里!

+1

'$('#main')。load('+ pgurl +');'应该是'$('#main')。load(pgurl);' – Pointy

回答

3

它已经是一个字符串:

$('#main').load(pgurl); 
+0

谢谢 - 我试过的所有东西,他们中的一个! – Lee

+0

很高兴帮助:) – AlienWebguy

2
$('#main').load(' +pgurl+ '); 

必须

$('#main').load(pgurl); 

你或许应该把它写为一条线,以防止第二查询。

function loadPage (pgurl) { 
    $('#main').html('<p align="center">Loading...</p>').load(pgurl); 
} 
+0

谢谢,也是一行提示! – Lee

2

因为它似乎你不使用pgurl参数,这个东西在负载括号是string变量名:)

$('#main').load(' +pgurl+ '); 

使用的文本,而不是

$('#main').load(pgurl); 

也许你应该看看,如果你不熟悉字符串连接http://www.youtube.com/watch?v=n17aX2TdQRk

+0

谢谢 - 也感谢youtube链接,非常有用,绝对是我需要刷新的东西! – Lee

2

这是一个错字吗?尝试改变:

$('#main').load(' +pgurl+ ');

$('#main').load(pgurl);

1

你必须改变下面的行//你传递字符串而不是一个变量//

$('#main').load(' +pgurl+ '); 

$('#main').load(pgurl);