2013-08-31 105 views
0

在我的網站中,我有一個未顯示的框。當用戶輸入他的用戶名和密碼時,如果他們是正確的,則必須顯示該框。在這裏,你看到的HTML代碼:Javascript更改輸入值

<div id="mainbox" style="display: none;"> 
    <p class="classm">Test.</p> 
</div>  
<input type="text" id="user"/> 
<br /> 
<input type="text" id="password" value="a"/> 
<br /> 
<input type="button" value="Log in" onclick="login();"> 

而且這裏JavaScript函數:

function login() { 
    var a = document.getElementById('password').value; 
    var b = document.getElementById('user').value; 
    if ((a == 'qwe') && (b == 'rty')) { //the problem is not here 
    document.getElementById('password').style.display="none"; 
    } 
    else 
    { 
    alert('You are not logged in.'); 
    } 
} 

當我點擊按鈕Log in貌似功能login();,因爲事情發生不叫。你知道爲什麼嗎?

+1

你確定你是在右邊的框中鍵入正確的信嗎?第一個箱子需要'rty'和第二個'qwe'。 – putvande

+0

工作正常:http://jsfiddle.net/5dgtz/ – Cherniv

回答

4
if (a == 'qwe') && (b == 'rty') //Wrong 

括像if(condition)

if ((a == 'qwe') && (b == 'rty')) //Corect 

條件如@弗雷德裏克哈米迪建議的,有不需要內括號的。

簡單這樣

if (a == 'qwe' && b == 'rty') 

演示here

+0

我做到了,但它仍然無法正常工作。 +1順便說一句 –

+4

Nitpicking:'=='比'&&'更優先,所以不需要內部圓括號。 –

+0

@AlbertoRossi,我認爲你有一個&b混合,'a'應該是用戶,'b'通過,或者?我爲這個答案添加了一個演示。一探究竟。 – Sergio

2

使用正確的,如果

if (a == 'qwe' && b == 'rty') 

fiddle