Передача переменной Javascript в <a href> - PullRequest
43 голосов
/ 10 июня 2009
<script language="javascript" type="text/javascript">
var scrt_var = 10; 
</script>

HTML Part:

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

Я просто хочу отправить переменную javascript по ссылке (параметр url)

Нет AJAX

Ответы [ 6 ]

52 голосов
/ 10 июня 2009

Если вы хотите, чтобы оно было динамическим, чтобы использовалось значение переменной во время щелчка, выполните следующие действия:

<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>

Конечно, это быстрое и грязное решение. У вас действительно должен быть скрипт, который после загрузки DOM добавляет обработчик onclick ко всем соответствующим элементам <a>.

16 голосов
/ 10 июня 2009

поставить атрибут id на элемент привязки

<a id="link2">

установить атрибут href для события загрузки страницы:

(function() {
    var scrt_var = 10;
    var strLink = "2.html&Key=" + scrt_var;
    document.getElementById("link2").setAttribute("href",strLink);
})();
10 голосов
/ 10 июня 2009
<script>
   var scrt_var = 10;
   document.getElementById("link").setAttribute("href",scrt_var);
</script>
<a id="link">this is a link</a>
8 голосов
/ 10 июня 2009

В качестве альтернативы вы можете просто использовать document.write:

...HTML
<script type="text\javascript">
var location = "http://";
document.write('<a href="' + location + '">Link text</a>');
</script>
...the rest
7 голосов
/ 10 июня 2009
<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 голосов
/ 19 января 2018

Если вы используете интернационализацию (i18n) и после переключения на другой язык, в конце URL может быть добавлено что-то вроде ?locale=fr или ?fr. Но когда вы переходите на другую страницу по событию клика, переключение перевода не будет стабильным.

Для такого рода случаев должна быть создана функция обработчика события щелчка DOM, которая обрабатывает все атрибуты a.href, сохраняя состояние переключателя как переменную и добавляя его в хвост всех тегов a.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...