سي#.نت/جافا سكريبت:صفوف الجدول القابلة للطي - ما الخطأ في هذا؟
-
02-07-2019 - |
سؤال
لدي صفحة C# .NET حيث أريد طي الصفوف عند الضغط على الزر.لقد وجدت العديد من الدروس مثل هذا (http://codingforums.com/archive/index.php?t-90375.html)، حاولوا تنفيذ حلولهم، لكن لم يفعل أي منهم أي شيء لي عندما قمت بالنقر فوق الزر الخاص بي.للتأكد من أنني لن أصاب بالجنون، قمت بإنشاء صفحة اختبار صغيرة فقط لمعرفة ما إذا كانت الفكرة ناجحة.لسبب ما، ليس كذلك.المتصفح هو IE6.أقوم بتشغيل Visual Studio 2005.هل لدى أي شخص أي فكرة لماذا لا يعمل هذا؟تعرض الصفحة المعروضة زرًا وسطرًا من النص كما أتوقع؛لا يختفي سطر النص عند النقر فوق الزر.أعلم أنه يمكنني استخدام div، لكن تذكر أن هذا مجرد دليل على المفهوم؛في تطبيقي الحقيقي، يجب طي صفوف الجدول.
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Test.aspx.cs" Inherits="Project.Web.Auth.Test" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>Shop Financials</title>
<link href="../StyleSheets/ClaimsV2.css" rel="stylesheet" type="text/css" />
<script type="text/javascript">
function btnClick(control)
{
try
{
var id_table = document.getElementById(control).style;
if(id_table.display == "block")
{
id_table.display = "none";
}
else
{
id_table.display = "block";
}
}
catch(e)
{
alert(e);
}
}
function toDepositPrinterFriendly()
{
}
</script>
</head>
<body>
<form id="form1" runat="server">
<table>
<tr>
<td><asp:Button runat="server" OnClientClick="javascript:btnClick('HeaderRow')"/></td>
</tr>
<tr id="HeaderRow" runat="server">
<td>TEST2</td>
</tr>
</table>
</form>
</body>
</html>
المحلول
1) الشاشة (على الأرجح) ليست "محظورة" في البداية.يحاول:
if(id_table.display == 'none') { id_table.display = ''; } else { id_table.display = 'none'; }
2) لن يكون معرف عنصر التحكم كما تعتقد، وذلك بفضل حاويات التسمية.تحقق من مصدر HTML الخاص بك