2011-11-16 38 views
12

Come chiamare una funzione JavaScript dal tag href in html? Ho creato alcune schede. Voglio che quando l'utente fa clic su qualsiasi scheda l'href insieme alla funzione JavaScript dovrebbe essere richiamato. Come posso farlo?Come chiamare una funzione javascript dal tag href in html?

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

Questo è il mio Javascript

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

</script> 
+0

Avete qualche codice per mostrarci? – Fluff

+0

Devi condividere del codice se vuoi aiuto. Se si desidera visualizzare una scheda ed eseguire una funzione JavaScript quando l'utente fa clic su tale scheda, si risolve in genere senza codice sul lato server, ovvero senza PHP. –

+0

Devi fare la differenza tra azioni lato server e client. PHP è disponibile solo sul server. HTML, CSS e Javascript sono disponibili solo sul lato client. Il tag, con l'attributo 'href' è solo un HTML, anche solo lato client. – reporter

risposta

21

Nel tag href, senza specificare un collegamento, specificare il tuo nome della funzione javascript.

Per esempio

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

in ie9 questo fa sì che la funzione si esegua e si allontani dalla pagina. Non usare mai per farlo in ie7. soluzioni alternative? – stu

6

Non utilizzare il href, utilizzare l'attributo onclick per questo

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

vedere this example

EDIT (dal codice aggiunto in questione): questo dovrebbe chiamare la tua funzione 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

E Come posso scrivere una funzione Withen My

0

Se si dispone di libreria jQuery è possibile chiamare con classe:

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

Per:

<li class="cat-one"><a href="#" class="loadProducts" data-categoryid="<?php echo $categoryId;?>" > <?php echo $categoryName ?> </a></li> 
Problemi correlati