2013-06-04 26 views
-4

我已經嘗試過所有的東西。我不知道該怎麼辦。它不工作功能不起作用,與輸入連接

function load() { 
if(acc == "a") 
var d = document.getElementById('sn'); 
    d.style.display='block'; 
var b = document.getElementById('neas'); 
    b.style.display='none'; 
if(acc == "n") 
var d = document.getElementById('sn'); 
    d.style.display='none'; 
var b = document.getElementById('neas'); 
    b.style.display='block'; } 

我的頭:

<script language="JavaScript"> 
day = new Date(); 
hour = day.getHours(); 
if (hour>=3 && hour<2) 
    acc = "a"; 
     else { acc = "n"; } 
</script> 
<script language="JavaScript"> 
function load() { 
    var d = document.getElementById('sn'); 
    var b = document.getElementById('neas'); 
    if(acc == "a") { 
     d.style.display='block'; 
     b.style.display='none'; 
    } else if(acc == "n") { 
     d.style.display='none'; 
     b.style.display='block'; 
    } 
} 
</script> 

我的身體:

<input type="password" maxlength="20" id="sn" style="width: 180px; height: 25px; background-image: url(bginput.gif); border:0; padding-left: 5px; padding-right: 5px; color: #0099cc; text-align: center;" value=""> 
<input type="text" id="neas" style="width: 180px; height: 25px; background-image: url(bginput.gif); border:0; padding-left: 5px; padding-right: 5px; color: #0099cc; text-align: center;" value="You are unable to enter." readonly> 

對不起傢伙愚蠢的問題,我絕對在JS初學者。

+0

它應該做什麼? –

+0

如果您可以提供額外的標記以便我們可以看到您在做什麼,這將會很有幫助。 – johnkavanagh

+0

不工作意味着什麼? – ChristopheBrun

回答

2

更換if(acc = "a")

if(acc == "a")

=是賦值運算符

其中作爲==是一個比較運營商

function load() { 
    var d = document.getElementById('sn'); 
    var b = document.getElementById('neas'); 

    if (acc = "a") { 

     d.style.display = 'block';  
     b.style.display = 'none'; 
    } 

    if (acc = "n") {  
     d.style.display = 'none';   
     b.style.display = 'block'; 
    } 
} 
0

你會通過縮進已經看到了第一個問題:你」重新丟失了一些塊分隔符。

function load() { 
    var d = document.getElementById('sn'); 
    var b = document.getElementById('neas'); 
    if (acc == "a") { 
     d.style.display='block'; 
     b.style.display='none'; 
    } else if (acc == "n") { 
     d.style.display='none'; 
     b.style.display='block'; 
    } 
} 

所看到PSR,你也用=代替==。

我也改變你的代碼重用元素聲明(儘量DRY)和else if讓JS引擎避免無用的測試。

+0

'acc =「a」'dystroy :) aaahaa編輯:) :) –

+0

我沒有....... –

1

您有幾個語法錯誤。您似乎缺少一些大括號,比較運算符也應該是==而不是=。嘗試:

function load() { 

    if (acc == "a") { 
     var d = document.getElementById('sn'); 
     d.style.display = 'block'; 
     var b = document.getElementById('neas'); 
     b.style.display = 'none'; 
    } 

    if (acc == "n") { 
     var d = document.getElementById('sn'); 
     d.style.display = 'none'; 
     var b = document.getElementById('neas'); 
     b.style.display = 'block'; 
    } 

} 

編輯:

也有似乎是在你的邏輯差距。 acc從哪裏獲得它的價值?此外,您還可以設置對象db一次,然後在if語句只是改變其顯示屬性是這樣的:

function load() { 

    var d = document.getElementById('sn'); 
    var b = document.getElementById('neas'); 

    if (acc = "a") {    
     d.style.display = 'block';    
     b.style.display = 'none'; 
    }  
    if (acc = "n") {  
     d.style.display = 'none';   
     b.style.display = 'block'; 
    } 

} 
1

請務必附上if子句中{}。同時使用==代替=比較時,=是一個賦值運算符,因此不會通過您的if子句。

function load() { 
    var d = document.getElementById('sn'); 
    var b = document.getElementById('neas'); 

    if(acc == "a"){ 
     d.style.display='block'; 
     b.style.display='none'; 
    } 

    else if(acc == "n"){   
     d.style.display='none';   
     b.style.display='block'; 
    } 
};