2012-01-30 92 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

希望如果你能發佈更多的代碼。你如何定義變量。以及你如何調用這個函數。最好從喬納斯 – 2012-01-30 08:25:16

回答

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

謝謝兄弟,這完全工作! – 2012-01-30 08:34:44

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

您可以創建中的網址函數,那麼你只需要一個全局變量:

<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> 
相關問題