2012-04-27 88 views
3

我有一個JSP頁面,我有一些input submit按鈕。現在基於我從AJAX請求中獲得的一些值,我想控制display and hiding of these input buttons。所以我爲每個輸入創建了spans。並根據我從AJAX請求收到的變量值我操縱顯示屬性。但我沒有得到正確的結果。HTML中隱藏和顯示範圍

這裏是我的代碼:

<td style="width: 600px"><span id="startspan"><input name="start" value="startActivity" type="submit" id="startbuttonid"></span></td> 
     <td style="width: 600px"><span id="holdspan"><input name="start" value="holdActivity" type="submit" id="holdbuttonid"></span></td> 
     <td style="width: 600px"><span id="cancelspan"><input name="start" value="cancelActivity" type="submit" id="cancelbuttonid"></span></td> 
     <td style="width: 600px"><span id="closespan"><input name="start" value="closeActivity" type="submit" id="closebuttonid"></span></td> 

而且我java script代碼我在哪裏寫代碼顯示或隱藏他們是::

if(temp1[15]=="InProcess"){ 
     document.getElementById('startspan').style.display='none'; 
     document.getElementById('holdspan').style.display = 'block'; 
     document.getElementById('cancelspan').style.display = 'block'; 
     document.getElementById('closespan').style.display = 'block'; 
    } 
    if(temp1[15]=="New"){ 
     document.getElementById('startspan').style.display='block'; 
     document.getElementById('holdspan').style.display = 'none'; 
     document.getElementById('cancelspan').style.display = 'block'; 
     document.getElementById('closespan').style.display = 'none'; 
    } 

這裏在此基礎上我收到罰款變量temp1[15]值。我想要顯示或隱藏這些輸入提交按鈕。我正在以正確的方式進行,如定義跨度或需要一些更正。基本上所有這些輸入按鈕都在一個dialog box <div>裏面,只有當我寫了我的隱藏或顯示跨度代碼(上面寫過)時纔會打開一個功能。需要幫忙。謝謝。

+0

我在這裏創建了一個JSFiddle,並且一切似乎都正常工作:http://jsfiddle.net/uGvam/ – phantasm 2012-04-27 15:08:55

回答

1

CSS中的display屬性還決定它是否像塊(DIV,P等)或內聯元素(span,b等)以及其可見性一樣起作用。

爲了您的跨度要做到這一點,而不是:

document.getElementById('span').style.display = 'inline'; 

如果這是一個DIV你會用block,如果它是一個IMG你會使用inline-block

1

因爲它在小提琴中工作,而不是在你的主代碼中,所以我懷疑在加載DOM(或生成dialog box <div>)之前可能存在與執行代碼有關的問題。你提到你正在使用AJAX。確保顯示或隱藏按鈕的代碼位於AJAX成功回調中。

+0

如果您可以使用AJAX方法顯示您的代碼,那將會有所幫助。 – AnalogWeapon 2014-01-02 19:02:24