2014-09-16 2 views
1

У меня есть переменная JavaScript, которую я хочу передать вместе с HTML-ссылкой.Как передать переменные javascript как параметры с помощью ссылки href?

<script> 
var demo=10; 
</script> 

я получаю значение демо на выполнение одной функции яваскрипта & мало, если-то еще & для петель. Поскольку этот код не имеет никакого смысла в этом вопросе, я не включил его. Предположим, что после всех этих операций конечный результат, который я получаю, сохраняется в демо-переменной. Теперь я хочу передать эту демо-версию вместе со ссылкой.

<a href="to_fake_page.php">On click pass demo</a> 

Я пытаюсь передать демо-переменную в качестве параметра ссылки href. Возможно ли это?

Я знаю

window.location.href = "to_fake_page.php?demostore=demo"; 

будет делать то же самое.

UPDATE

Это моя функция Javascript

Эта функция имеет один parameter & он передается на a_php_page.php, где некоторые операции базы данных & условие проверяет, выполняются & соответствующий результат передается обратно из PHP страницу к функции AJAX как JSON. Я разбираю JSON &, получая переменную demo. И мода мода включена, если я получаю ответ со страницы PHP. Внутри мода мода, у меня есть ссылка, указывающая to_fake_page.php, где мне нужно передать демо-версию, щелкнув ссылку On click pass demo.

function onefunction(parameter) 
    { 
     if(window.XMLHttpRequest) 
     { 
      xmlhttp=new XMLHttpRequest(); 
     } 
     else 
     { 
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
     } 
     xmlhttp.onreadystatechange=function() //callback fn 
     { 
      if(xmlhttp.readyState==4 && xmlhttp.status==200) 
      { 
       // these values are obtained from a php page using AJAX. 
       // An array has been passed from the php page after json encoding it. 

       var jsonStr = JSON.parse(xmlhttp.responseText); 
       var demo=jsonStr.value1; 
       document.getElementById('myLink').href += '?demo=' + encodeURIComponent(demo); 

       $('<div class="modal fade">' + 
        '<div class="modal-dialog">' + 
        '<div class="modal-content">' + 
        demo+ 
        '</div>' + 
        '<div class="modal-footer">' + 
        '<a href="to_fake_page.php" id="myLink">On click pass demo</a>' + 
        '</div>' + 
        '</div>' + 
        '</div>' + 
        '</div>').modal(); 

      } 
     } 
     xmlhttp.open("GET","a_php_page.php?from="+parameter,true); 
     xmlhttp.send(); 
    } 
+0

читать [это] (http://stackoverflow.com/questions/5999118/add-or-update-query-string-parameter) – Himal

ответ

1

Чтобы получить результат, я изменил мой JavaScript код, как это:

<script> 
var demo=10; 
var urll='to_fake_page.php?demostore='+demo; 
</script> 

и сменил строку

'<a href="to_fake_page.php" id="myLink">On click pass demo</a>' + 

в функции AJAX для

'<a href="'+url+'"' + 
'id="myLink">On click pass demo</a>' + 

Это было просто. Добавлена ​​переменная urll в DOM.

Особая благодарность: developer82

Я, безусловно, голосовать свой ответ до, как я достигаю 15 повторений. Это был единственный ответ, близкий к тому, что я искал. Gracias.

0

попробовать это,

<script> 
    var demo = 10; 
    window.location.href = "to_fake_page.php?demostore=" + demo; 
</script> 

вы хотите установить тег HREF с помощью этой функции.

<script>  
    var link = document.getElementById('aTagId'); 
    link.setAttribute('href', 'to_fake_page.php?demostore=demo' + demo); 
</script> 
+0

этот код автоматически изменит страницу в браузере и не изменит ссылку внутри атрибут тега href по своему усмотрению. – developer82

3

, что вы должны сделать (после того, как вся ваша логика будет сделано, и у вас есть значение, которое вы хотите в переменной), чтобы изменить HREF ссылки.

что-то вроде этого:

var demo = 123; 
document.getElementById('myLink').setAttribute('href', 'somelink.php?demo=' + demo); 

также положить пример кода здесь для вас:

http://jsfiddle.net/x8tgktv6/

+4

Прост в использовании свойство: document.getElementById ('myLink'). Href + = '? Demo =' + demo; '. ;-) О, значение * demo * должно быть [* URI encoded *] (http://ecma-international.org/ecma-262/5.1/#sec-15.1.3.4), поэтому '... + = '? demo =' + encodeURIComponent (demo); '. – RobG

+0

Uncaught TypeError: Невозможно прочитать свойство setAttribute из null @ developer82 – 2014-09-16 05:22:35

+1

@BeingJudas, вероятно, не найдет вашу ссылку на странице. вы можете отредактировать свой пост с кодом, чтобы мы могли посмотреть? – developer82

Смежные вопросы