2011-11-16 22 views
12

Jak wywołać funkcję JavaScript z tagu href w html? Stworzyłem kilka zakładek. Chcę, gdy użytkownik kliknie na dowolnej karcie, powinien wywołać href wraz z funkcją JavaScript. Jak mogę to zrobić?Jak wywołać funkcję javascript z tagu href w html?

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

To mój Javascript

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

</script> 
+0

Czy masz jakiś kod do pokazania nam? – Fluff

+0

Musisz udostępnić kod, jeśli potrzebujesz pomocy. Jeśli chcesz wyświetlić zakładkę i uruchomić funkcję JavaScript, gdy użytkownik kliknie na tę kartę, zazwyczaj rozwiązuje się to bez kodu po stronie serwera, tj. Bez PHP. –

+0

Musisz odróżnić działania po stronie serwera i klienta. PHP jest tylko dostępne na serwerze. HTML, CSS i JavaScript są dostępne tylko po stronie klienta. Tag z atrybutem "href" jest tylko HTML-również po stronie klienta. – reporter

Odpowiedz

21

w tagu href, bez określania link, podać nazwę funkcji JavaScript.

Na przykład

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

w ie9 powoduje to uruchomienie funkcji i nawigację z dala od strony. Nigdy nie używaj tego w ie7. obejścia? – stu

6

Nie należy używać href, użyć atrybutu onclick tego

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

zobaczyć this example

EDIT (ponieważ kod dodany w pytaniu): to powinno wywołać funkcję 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

I jak mogę napisać funkcję Withen My

0

Jeśli masz jquery biblioteki można zadzwonić z klasą:

$(".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; 
}); 

Dla:

<li class="cat-one"><a href="#" class="loadProducts" data-categoryid="<?php echo $categoryId;?>" > <?php echo $categoryName ?> </a></li> 
Powiązane problemy