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

コードを投稿することができれば幸いです。変数の定義方法。そして、どのように関数を呼び出すか。ジョナスからのベスト –

答えて

2

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

を見る前に、あなたがstore関数を呼び出している考えると、これを試してみてくださいのURL関数を使用する場合、グローバル変数が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> 
関連する問題