Привет, я передаю идентификатор во всплывающее окно и на основе этого идентификатора хочу, чтобы определенная вкладка была видимой или нет. Идентификатор передается "key2", и я извлекаю это из URL. Идентификатор вкладки "tabTwo". Ниже мой код, который я до сих пор, предупреждение срабатывает, но вкладка все еще видна. Дайте мне знать, если у вас есть мысли о том, почему эта вкладка все еще видна, спасибо.
window.onload = function DealVis()
{
var url = document.URL;
if(url.indexOf("key2") != -1)
{
alert("got it");
document.getElementById("tabTwo").style.visibility="hidden";
}
}
HTML для tagTwo
<apex:tab label="New Land Deal" name="tab2" id="tabTwo">
<apex:pageBlock id="newLandDeal" title="New Land Deal" >
<apex:pageBlockButtons >
<apex:commandButton action="{!saveNewLandDeal}" value="Save"/>
</apex:pageBlockButtons>
<apex:pageMessages />
<apex:pageBlockSection columns="2">
<apex:repeat value="{!$ObjectType.Land_Deal__c.FieldSets.NewLandDeal}" var="f">
<apex:inputField value="{!landDeal[f]}"/>
</apex:repeat>
</apex:pageBlockSection>
</apex:pageBlock>
</apex:tab>
добавьте это alert(document.getElementById("tabTwo"))
рядом с alert("got it");
и проверьте, может ли он найти ваш элемент tabTwo
.
1- Я думаю, проблема может заключаться в том, что tabTwo
не является идентификатором вашей вкладки.
или
2- ваша вкладка загружается после того, как произойдет window.onload
. вероятно, потому, что ваши вкладки создаются на основе некоторых запросов Ajax
и вам нужно подождать, пока это не будет сделано.