我正在使用時間表應用程序,我在隱藏/取消隱藏使用不同瀏覽器的面板時遇到了一些問題。查看屏幕截圖。切換不能使用新的瀏覽器
圖片1:這是我正在做的一般開始頁面。點擊按鈕。
圖片2:這是預期的輸出。這是我在IE8中獲得的輸出。
圖片3:這是最新的Chrome的輸出。該面板顯示(不正確,注意它不跨過桌子,它只有一列寬),並且再次隱藏。我在最新的Firefox和IE中獲得了相同的結果。
這是JavaScript的切換。
function toggleVisibility(panel)
{
if (panel.style.display == "none")
{
panel.style.display = "";
}
else
{
panel.style.display = "none";
}
}
這是調用肘
TableCell showCell = new TableCell();
HtmlButton showButton = new HtmlButton();
showButton.Attributes.Add("onClick", "toggleVisibility(panel" + timesheet.timesheetId.ToString() + ")");
showCell.Controls.Add(showButton);
TableCell nameCell = new TableCell();
HyperLink nameLink = new HyperLink();
nameLink.NavigateUrl = "./timesheet.aspx?timesheetId=" + timesheet.timesheetId.ToString()+ "&empNum=" + timesheet.employeeId + "&PopUp=" + _approverEmployeeId;
nameLink.Text = employeeName;
nameLink.Target = "_blank";
nameCell.Controls.Add(nameLink);
在aspx.cs文件再往下是面板被定義,其中aspx.cs。
TableRow childRow = new TableRow();
TableCell childCell = new TableCell();
childCell.ColumnSpan = headerRow.Cells.Count;
childCell.Controls.Add(childTable);
childRow.Controls.Add(childCell);
childRow.Attributes.Add("Style", "Display: none");
childRow.ID = "panel" + timesheet.timesheetId;
summaryTable.Rows.Add(headerRow);
summaryTable.Rows.Add(childRow);
當我刪除childRow.Attributes.Add( 「樣式」, 「顯示:無」),該表中所有的瀏覽器正確地顯示。點擊綁定的按鈕即可隱藏,然後在較新的瀏覽器中顯示錶格。
這是HTML的一個片段。整個頁面的HTML可以在這裏找到http://asalim.net/approval.txt。
<table id="summaryTable" rules="all" bordercolor="Silver" border="1" style="border-color:Silver;border-style:None;height:32px;width:768px;Z-INDEX: 102; LEFT: 8px; POSITION: absolute; TOP: 136px">
<tr>
<td>Show Detail</td>
<td>Name</td>
<td>EmployeeNumber</td>
<td>Approved</td>
<td>Reject</td>
</tr>
<tr id="summary94458" style="border-color:Black;border-width:1px;border-style:Solid;">
<td><button onClick="toggleVisibility(panel94458)"></button></td>
<td><a href="./timesheet.aspx?timesheetId=94458&empNum=051006&PopUp=051006" target="_blank">XXXXXXXXXXXXXXXXXXXXXXX</a></td>
<td>051006</td>
<td><input id="allApproved94458" type="checkbox" name="allApproved94458" onclick="approveLines(this, 94458);" /></td>
<td><input type="submit" name="reject94458" value="Reject" onclick="window.open('./reject.aspx?empNum=051006&timesheetId=94458');" language="javascript" id="reject94458" /></td>
</tr>
<tr id="panel94458" style="Display: none">
<td colspan="5"><table id="detailTable94458" bordercolor="Black" border="0" style="border-color:Black;border-width:1px;border-style:Solid;width:100%;">
<tr>
<td>Description</td>
<td>Job</td>
<td>Extra</td>
<td>Cost Code</td>
<td>Reg Hours</td>
<td>OT Hours</td>
<td>Mileage</td>
<td>Approved</td>
</tr>
你可以發佈一些*最小的HTML顯示問題? * toggleVisibilty *函數看起來很好。也許先測試「無」,例如'panel.style.display = panel.style.display =='none'? 'block':'none';' – RobG
上面更新的代碼。 –