2011-11-16 81 views
0

如何從html中的href標記調用JavaScript函數?我創建了一些標籤,當用戶點擊其中一個標籤時,應該調用href和JavaScript函數。無法從PHP代碼調用JavaScript函數?

<?php if($order == 1){ ?> 
<li class="cat-one"> 
    <a href="javascript:void(0)" onclick="loadProducts(<?php echo $categoryId ?>)"> 
     <?php echo $categoryName ?> 
    </a> 
</li> 
<?php } ?> 

這是我的JavaScript:

function loadProducts($categoryId) 
{ 
    alert("Hello World!"); 
    return false; 
} 

爲什麼不在我的功能警報觸發? 我正在同一頁面上運行2個jQueries。

+1

你可以不使用大寫字母開頭的所有單詞嗎? – PeeHaa

+0

訪問該頁面,查看源代碼並在提及的部分中查找錯誤。 categoryId是整數嗎?你沒有用引號把它括起來,所以除非有,否則javascript會看到'loadProducts(IAmACategoryId);'這會失敗。點擊鏈接時會得到什麼樣的javascript錯誤? – James

回答

2

,如果你試試這個什麼:

<a href="#" onclick="loadProducts(<?php echo $categoryId ?>); return false;"> 
0

嘗試:

<script type="javascript" > 
function loadProducts(categoryId) 
{ 
alert("Hello World!" + categoryId); 
return false; 
} 

</script> 

而且也:

<a href="#" onclick="loadProducts(<?php echo $categoryId ?>); return false;" > 
    <?php echo $categoryName ?> 
</a> 
+0

爲什麼他不能'功能loadProducts($ categoryId){'?或者我錯過了什麼? – PeeHaa

+0

@PeeHaa:雖然變量*可以以JavaScript中的美元符號開頭,但它不是強制性的,也不經常使用。 [這是一個關於何時在JavaScript中使用美元符號的問題](http://stackoverflow.com/questions/205853/why-would-a-javascript-variable-start-with-a-dollar-標誌)。 – RikkusRukkus

0

我只是檢查JavaScript的,你犯了一個錯誤,同時宣佈腳本標籤,正確的代碼是

<script type="text/javascript" > 
function loadProducts($categoryId) 
{ 
alert("Hello World!"); 
return false; 
} 
</script> 
+0

回覆如果它適合你 –

0

從上面的腳本中,我確實沒有看到JavaScript的問題。試着先調試你的PHP,看看像($ categoryId)這樣的期望值是否與你期望的一樣。

你失去了一些東西也從腳本標籤

<script type="text/javascript"> 
// Your script goes here... 
</script> 
0

可能是你的PHP腳本有一定的誤差,也試試這個例子。

<html> 
<body> 
<script type= "text/javascript"> 
function loadProducts(catid){ 
    alert(""Hello World!"+catid); 
    return false; 
} 
</script> 


<?php if($order == 1){ ?> 
<li class="cat-one"> 
    <a href="javascript:void(0)" onclick="loadProducts(<?php echo $categoryId ?>)"><?php echo $categoryName ?> </a> 
</li> 

</body> 
</html> 
0

從我可以不實際運行這段代碼告訴,你可以固定在線路3和4的幾個分號,改變HREF,並把參數loadProducts引號。試試這個:

<?php if($order == 1){ ?> 
<li class="cat-one"> 
    <a href="#" onclick="loadProducts('<?php echo $categoryId; ?>')"> 
     <?php echo $categoryName; ?> 
    </a> 
</li> 
<?php } ?> 

讓我知道它是否適合你。