2011-11-16 83 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 } ?> 

让我知道它是否适合你。