2011-11-16 19 views
12

htmlのhrefタグからJavaScript関数を呼び出す方法は?私はいくつかのタブを作成しました。ユーザーが任意のタブをクリックすると、hrefがJavaScript関数と共に呼び出されます。どうしたらいいですか?htmlのhrefタグからjavascript関数を呼び出す方法は?

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

これは、HREFタグには私のJavascript

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

</script> 
+0

私たちに見せるためのコードはありますか? – Fluff

+0

助けが必要な場合は、いくつかのコードを共有する必要があります。タブを表示し、ユーザーがそのタブをクリックしたときにJavaScript関数を実行する場合は、サーバーサイドコードなしで、つまりPHPなしでこれを解決するのが一般的です。 –

+0

サーバー側とクライアント側のアクションを変更する必要があります。 PHPはサーバ上でのみ利用可能です。 HTML、CSS、Javascriptはクライアント側でのみ利用可能です。属性 'href'を持つaタグはHTMLだけであり、クライアント側のものでもあります。 ie9で – reporter

答えて

21

で、リンクを指定せずに、あなたのJavaScript関数名を指定します。この

<a href="http://www.example.com" onclick="return confirm('are you sure?')">test</a> 

ためonclick属性を使用し、hrefを使用しないでください

<a href='javascript:myFunction()'> Click Me! <a/> 
+0

が実行されると、関数が実行され、ページから離れてナビゲートされます。 ie7でそれをするのは絶対に使用しないでください。回避策? – stu

6

例えば

は(コードが質問に追加するので)this example

EDITを参照してください。 JS関数を呼び出す必要があります:

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

どうすればいいですか?

0

あなたはクラスで呼び出すことができますjqueryのライブラリがある場合:について

$(".loadProducts").click(function(event) { 
     // Default action of the event will not be triggered. 
     event.preventDefault(); 
     // Get category ID 
     var categoryId = $(this).attr('data-categoryid'); 
     // TODO 
     alert("Hello World!"); 
     return false; 
}); 

を:

<li class="cat-one"><a href="#" class="loadProducts" data-categoryid="<?php echo $categoryId;?>" > <?php echo $categoryName ?> </a></li> 
関連する問題