2012-06-20 40 views
3

最初div id =「showHide」是不可見的。當vall的值不爲空時,我想使其可見。但代碼不起作用。雖然變量vall獲取值,但div仍然不可見。 js codecript有什麼問題?我正在使用jsp。在將值傳遞給js變量後,顯示div的style =「display:none」。

<head> 
</head> 

<body> 
<div id =" showHide" style="display:none"> 

    /*HTML TABLE*/ 
</div> 

<script type="text/javascript"> 

alert("first alert"); 
var vall = "<%=vall%>";  

    if (vall != null) 
     {    
      var mydiv = getElementById.("showHide"); 
      mydiv.style.display ="block"; 
      alert("second alert"); 
      <% System.out.println("jsvar="+vall);%> 

      } 

    </script> 
</body> 

當我在控制檯登錄我得到了錯誤:

uncaught syntaxError: unexpected token (

和兩個警告框,也沒有顯示。

+0

我已根據您的建議編輯了代碼,但仍然無法使用。 – sam

+1

這是因爲您將正確的'document.getElementById(「showHide」);'更改爲不正確的'getElementById。( 「顯示隱藏」);'。將其更改回來,語法錯誤將消失。 –

回答

7

嘗試:的

mydiv.style.display = "block"; 

代替

mydiv.style.visibility = "visible"; 
2

visibilitydisplay是不同的。相反,你應該在display值從noneblock(默認爲<div>)改變:

mydiv.style.display = "block"; 
0

我認爲,當你在腳本標記代碼運行它沒有找到與該ID的div標籤,而當div在頁面中呈現,您再次將其可見性設置爲隱藏。

我建議把你的腳本標籤放在div後面。

+0

我做了所有建議的更改,但它也不起作用。 – sam

+0

你可以檢查你的條件是否爲真或再見登錄到控制檯或在其中放置警報。 –

+0

@ Digvijay Yadav:謝謝你的建議。當我登錄到控制檯我得到了錯誤:「未捕獲的SyntaxError:意外的標記(」 – sam

0
<div id =" showHide" style="display:none"> 

/*HTML TABLE*/ 
</div> 

刪除ID的空間,並把Js代碼放回div,嘗試它。

+0

感謝糾正我已經把我的js腳本閉幕div標籤之後,但也它不工作 – sam

2

您確定在調用JS之前實際上已經加載了內容嗎?嘗試將JS移動到主體的末尾或將代碼封裝在可在頁面加載時調用的函數中。如果你想成爲真正的幻想,你應該使用jQuery來幫助你解決這個問題。 http://api.jquery.com/ready/

+1

+1錯過了 –

1

我想你忘了聲明變量mydiv。

替換此行 mydiv = document.getElementById(「showHide」);

通過

變種mydiv =的document.getElementById( 「顯示隱藏」);

enter code here<div id ="showHide" style="display:none"> 

/*HTML TABLE*/ 

// JavaScript代碼只是檢查了這一點的

var vall = 10; 
var mydiv = null 
if (vall != null) 
    { 
     mydiv = document.getElementById("showHide"); 
     mydiv.style.display ="block"; 

    } 

+0

感謝鷹眼,但它只是錯字錯誤。我糾正它雖然,仍然沒有工作 – sam

+0

只是做你在哪裏下面側聲明像mydiv變量聲明瓦爾變量的一件事。「VAR mydiv = NULL;」 –

+0

哎刪除ID的空間=「顯示隱藏」 –

0

代替

var mydiv = getElementById.("showHide"); 

使用

var mydiv = document.getElementById.("showHide");