2016-09-27 9 views
0

divsをクリック/非表示にすると、2つのcheckboxesが表示されます。div.style.displayを使用する "ブロック":2つのチェックボックスに基づいて非表示/非表示にする "なし"

  • 最初のページの読み込みで、fundingAvailable = falseの場合は、アップロードを非表示にする必要があります。ユーザがSpecial Handlingチェックボックスをクリックすると、アップロードhiddenなければならない

enter image description here


  • (画像参照)。

enter image description here


  • ユーザがOverride Fundingチェックボックスをクリックする(画像を参照)、および= falsefundingAvailableは、アップロードshownであるべきです。

    JSP

    <INPUT TYPE="CHECKBOX" id="cbOverrideFunding" value="true" onclick="fundingAvailableWarning(<%=fundingAvailable%>)" > 
    <INPUT TYPE="CHECKBOX" ID="cbSpecialHandling" value="true" onclick="specialHandlingWarning()"> 
    
    <% if(!fundingAvailable) { %> 
        <TR> 
         <TD height="90" valign="top"><BR> 
         <div id="fundingAvailable" style="display: block"> 
          <b><i>The upload functionality has been disabled because the funding is missing.</i></b> 
         </div> 
    
         <div id="uploadFile"> 
         <INPUT name="File1" type="file" id="File1"/> 
         <a href="fileUpload()"> 
          <IMG src="../../images/UploadFile.gif" alt="Upload File"> 
         </a> 
         </div> 
    <% } %> 
    <% else { %> 
        <div id="uploadFile"> 
         <INPUT name="File1" type="file" id="File1"/> 
         <a href="fileUpload()"> 
         <IMG src="../../images/UploadFile.gif" alt="Upload File"> 
         </a> 
        </div> 
    
        <div id="uploadFileSpecialHandling" style="display: none"> 
         <b><i>The upload functionality has been disabled because of Special Handling. 
         </i></b> 
        </div> 
    <% } %> 
    

    javascriptの

    :これは私がこれまで持っているものである

enter image description here


(画像を参照)

function specialHandlingWarning() 
{ 
    if(document.getElementById("fundingAvailable").checked) { 
     var div = document.getElementById("uploadFile"); 
     div.style.display = div.style.display == "none" ? "block" : "none"; 

     div = document.getElementById("uploadFileSpecialHandling"); 
     div.style.display = div.style.display == "none" ? "block" : "none"; 
    } 
} 

function fundingAvailableWarning(fundingAvailable) 
{ 
    if(!fundingAvailable) { 
     var div = document.getElementById("uploadFile"); 
     div.style.display = div.style.display == "none" ? "block" : "none"; 

     div = document.getElementById("fundingAvailable"); 
     div.style.display = div.style.display == "none" ? "block" : "none"; 
    } 
} 

私の問題は、これらの2つのdivがうまく一緒に再生されないということです。

最初にSpecial Handlingを選択すると、Uploadページが表示され、自分の警告が非表示になります。

+0

'none'の代わりに' unset'を試してみることができますhere => '? "ブロック": "なし"; –

+0

@David RあなたはuploadFile divかそのすべてを意味しましたか? – Angelina

答えて

0

私はCSSですべてを制御するので、最も親の要素のクラス名を変更する必要があります。

関連する問題