2012-12-30 34 views
0

我必須將變量從javascript傳遞到php。我下面的代碼給出:變量傳入javascript

<script> 
function getValue(val,val2){ 
     window.a = val; 
     window.b = val2; 
} 
function getValue2(val,val2){ 
     window.c = val; 
     window.d = val2; 
} 
function sendvar(){ 

     if(window.a === 'undefined'){ 
      window.a = 0; 
     } 
       if(window.b === 'undefined'){ 
      window.b = 0; 
     } 
       if(window.c === 'undefined'){ 
      window.c = 0; 
     } 
       if(window.d === 'undefined'){ 
      window.d = 0; 
     } 
location.href = "count.php?id="+window.a + "&optionname1=" + window.b + "&id=" + window.c + "&optionname1=" + window.d 
</script> 


<img src="img1.jpg" onclick="getValue('yes','1');"> 
<img src="img2.jpg" onclick="getValue2('no','1');"> 

<button onclick="sendvar();">Click me</button> 

當getValue函數調用,這樣只有此功能通過在HREF其他值的值應爲零,當getValue2函數調用所以只能在HREF其他值這個函數傳遞的值應該爲零。但是現在這不會發生。

請告訴我我錯在哪裏?

+0

恩,你不應該重置其他人嗎? – epascarello

+0

避免全局。退出您的查詢輸入。使用'foo ===「undefined」類型,除非你真的打算檢查一個名爲「undefined」的字符串。 –

+0

爲什麼你在查詢中傳遞'id'和'optionname1'兩次? –

回答

0

window.a將等於undefined不帶引號。 typeof將等於"undefined"加引號。

if(typeof a === 'undefined'){ 
     window.a = 0; 
    } 
    if(typeof b === 'undefined'){ 
     window.b = 0; 
    } 
    if(typeof c === 'undefined'){ 
     window.c = 0; 
    } 
    if(typeof d === 'undefined'){ 
     window.d = 0; 
    } 
0

作爲解決您的問題,請參見下面的代碼片斷

<script> 
var a=0; 
var b=0; 
var c=0; 
var d=0; 
function getValue(val,val2) 
{ 
    window.a = val; 
    window.b = val2; 
    window.c=0; 
    window.d=0; 
} 
function getValue2(val,val2) 
{ 
    window.c = val; 
    window.d = val2; 
    window.a=0; 
    window.b=0; 
    } 
function sendvar(){ 


    location.href = "count.php?id="+window.a + "&optionname1=" + window.b + "&id=" + window.c + "&optionname1=" + window.d 
    } 
    </script> 


    <img src="img1.jpg" onclick="getValue('yes','1');"> 
    <img src="img2.jpg" onclick="getValue2('no','1');"> 
    <button onclick="sendvar();">Click me</button>