2012-01-30 2 views
1

Ниже приведен код моего javascript. Проблема в том, что когда я вызываю функцию send(), она действительно не отвечает, потому что x, y и z, потому что это локальные переменные. Я попытался сделать их глобальными, используя несколько подходов, таких как создание объекта, но все они потерпели неудачу. Кто-нибудь здесь знает правильный подход?Функция не вызвана в JavaScript

<script type='text/javascript'> 
    function store(x,y,z) {   
     var date = x+" "+y+" "+z; 
     document.getElementById("date").value=date; 
    } 
    function send(){ 
     var events=document.getElementById("event").value; 
     location.href="q.php?day=" + x + "&month=" + y + "&year=" + z;   
    } 
</script> 
+0

Было бы полезно, если бы вы могли разместить больше кода. Как вы определяете переменные. И как вы называете функцию. Лучше всего от Jonas –

ответ

2

Попробуйте это, учитывая, что вы вызываете store функцию перед send

<script type='text/javascript'> 
    var xx, yy, zz; //These are your global variables 
    function store(x,y,z) { 
     xx = x; 
     yy = y; 
     zz = z;   
     var date = x + " " + y + " " + z; 
     document.getElementById("date").value = date; 
    } 

    function send(){ 
     var events = document.getElementById("event").value; 
     location.href="q.php?day=" + xx + "&month=" + yy + "&year=" + zz;  
    } 
</script> 
+0

спасибо, парень, который полностью сработал! –

0

изменить имя функции отправки и хранения

<script type='text/javascript'> 
    var xGlobal,yGlobal,zGlobal; 
    function mystore(x,y,z) {  
     xGlobal=x; 
     yGlobal=y; 
     zGlobal=z;  
     var date = x+" "+y+" "+z; 

     document.getElementById("date").value=date; 
    } 

    function mysend(){ 
     var events=document.getElementById("event").value; 
     location.href="q.php?day=" + xGlobal + "&month=" + yGlobal + "&year=" + zGlobal;  
    } 
</script> 

см the example in fiddle

1

Вы можете создать URL-адрес в store, то вам нужна только одна глобальная переменная:

<script type='text/javascript'> 

    var url; 

    function store(x, y, z) {   
    var date = x + " " + y + " " + z; 
    document.getElementById("date").value = date; 
    url = "q.php?day=" + x + "&month=" + y + "&year=" + z; 
    } 

    function send(){ 
    var events = document.getElementById("event").value; 
    location.href = url; 
    } 

</script> 
Смежные вопросы