2013-05-09 156 views
-4

我正在面對一個嚴重的問題else if語句在JavaScript中。我用它們爲一個特定的值分配一個會話變量,但是每當我嘗試這樣做時,它都會將它賦值給寫在最後一個else if語句中的最後一個值,奇怪的是它會進入右邊,如果是block,值正確,然後在函數結束時將其更改爲錯誤的值。 下面是我正在使用的代碼:else if語句在javascript中

function showInput(value){ 
    if(value==='username'){ 
     document.getElementById('search').innerHTML = "User name: " 
     <?php 
     $_SESSION['searchfield']="user name"; 
     ?> 
    } 
    elseif (value==='phonenumber'){ 
     document.getElementById('search').innerHTML = "Phone number: " 
     <?php 
     $_SESSION['searchfield']="phone number"; 
     ?> 
    } 
    elseif (value==='email'){ 
     document.getElementById('search').innerHTML = "E-mail: " 
     <?php 
     $_SESSION['searchfield']="email"; 
     ?> 
    } 
} 

在此先感謝。

+2

PHP =服務器端vs Javascript =客戶端 兩者都在不同的介質上運行HTTP fence的對面 – 2013-05-09 13:01:29

回答

1

你可以縮進你的代碼嗎?

ELSEIF是不恰當的JavaScript是

else if 
+1

Spelled javascript wrong! :) +1 – tymeJV 2013-05-09 13:00:14

+1

拼寫'jQuery'錯誤。 – MarioDS 2013-05-09 13:00:47

+0

呃!對不起大家。 – slinky2000 2013-05-09 13:01:23

2

PHP運行在服務器方式的JavaScript運行之前。他們不互動。瞭解PHP生命週期。當代碼在服務器上運行時,它將設置所有這三個會話行,並始終以電子郵件結束。

+1

我愛所有其他答案錯過了真正的問題。是的,如果有其他錯誤,那不是真正的問題!真正的問題是不理解PHP/JavaScript如何交互。 – epascarello 2013-05-09 13:04:50

+0

哦,我是新的使用PHP。我不知道這一點。 – 2013-05-09 13:06:09

+0

所以你說這不能這樣做?如果是這樣,你有什麼想法如何完成它? – 2013-05-09 13:07:10

2

中沒有elseif。此外,你想用混合JavaScript和PHP做什麼?他們的運行時間完全不同。您需要向服務器執行回發以存儲會話變量。