2013-05-09 281 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做什么?他们的运行时间完全不同。您需要向服务器执行回发以存储会话变量。