2009-06-10 29 views
31
<script language="javascript" type="text/javascript"> 
var scrt_var = 10; 
</script> 

Parte HTML:Passando variabile Javascript per <a href >

<html> 
this is a <a href ="2.html & Key= scrt_var">Link </a> 
</html> 

Voglio solo inviare la variabile javascript per creare un collegamento (parametro URL)

No AJAX

+0

si prega di inquadrare correttamente la tua domanda in modo da poter ottenere il massimo da esso –

+0

'' senza 'l'? –

risposta

46

Se vuoi che sia dinamico, in modo che il valore della variabile al momento del clic venga utilizzato, fai quanto segue:

<script language="javascript" type="text/javascript"> 
var scrt_var = 10; 
</script> 
<a href="2.html" onclick="location.href=this.href+'?key='+scrt_var;return false;">Link</a> 

Naturalmente, questa è la soluzione rapida e sporca. Dovresti avere uno script che dopo il caricamento DOM aggiunge un gestore onclick a tutti gli elementi rilevanti <a>.

+1

Eccellente. Questo è Opere per me !!! . Grazie Bllixt – joe

+1

non posso usare quella variabile ma posso vederla nella barra degli indirizzi. Come posso usarlo? –

+0

Ciao. Posso usare al posto della variabile una funzione che restituisce la stringa? –

10
<script> 
    var scrt_var = 10; 
    document.getElementById("link").setAttribute("href",scrt_var); 
</script> 
<a id="link">this is a link</a> 
+0

Penso che sarebbe qualcosa come setAttribute ("href", "2.html & Key =" + scrt_var) per formare il collegamento completo. – Kylotan

+0

Sì quella cosa funziona, Grazie per il trucco breve e semplice :) @erenon – Faizan

+0

@erenon C'è un modo per aggiungere target_new a questo codice per aprire in una nuova scheda? grazie. – Andrew

7

In alternativa si potrebbe utilizzare un document.write:

...HTML 
<script type="text\javascript"> 
var location = "http://"; 
document.write('<a href="' + location + '">Link text</a>'); 
</script> 
...the rest 
13

put attributo id sul elemento di ancoraggio

<a id="link2"> 

set href attributo evento di caricamento della pagina:

var scrt_var = 10; 
var strLink = "2.html&Key=" + scrt_var; 
document.getElementById("link2").setAttribute("href",strLink); 
7
<html> 

<script language="javascript" type="text/javascript"> 
var scrt_var = 10; 
openPage = function() { 
location.href = "2.html?Key="+scrt_var; 
} 
</script> 

this is a <a href ="javascript:openPage()">Link </a> 
</html> 
+0

Utilizzo di joe

+1

Che cos'è Varaiabke? –

+0

scusa. Quello è variabile ... errore ortografico .. – joe

0

Se si utilizza internatio nalizzazione (i18n), e dopo il passaggio a un'altra lingua, qualcosa come ?locale=fr o ?fr potrebbe essere aggiunto alla fine dell'URL. Ma quando si passa a un'altra pagina sull'evento click, l'opzione di conversione non sarà stabile.

Per questo tipo di casi, è necessario creare una funzione di gestione eventi click DOM per gestire tutti gli attributi a.href memorizzando lo stato del commutatore come variabile e aggiungerlo alla coda di tutti i tag a.

Problemi correlati