خاصية الرؤية الضوابط، تعديل من قبل جافا سكريبت، يتم تجاهل بعد إعادة النشر

StackOverflow https://stackoverflow.com/questions/1821646

سؤال

وبلدي كود جافا سكريبت بتعديل بعض الخصائص، وشملت الرؤية. بعد إعادة النشر، تمسك بعض الخصائص، والبعض الآخر "المنسية". هنا أحاول تغيير الخاصية Text لمربع النص والخاصية الرؤية من تسمية إلى 'الخفية'. بعد إعادة النشر، والحفاظ على النص، ولكن يتم عرض التسمية. أود كثيرا للحفاظ على تسمية مخفي بعد إعادة النشر. والشيء نفسه يحدث مع 'عرض' الملكية CSS. أو، إذا كنت في محاولة لإخفاء <div>. أي مساعدة سيكون محل تقدير كبير جدا:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ShowHide.aspx.cs" Inherits="WebApplication1.ShowHide" %>

<!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 runat="server">
    <title>Untitled Page</title>
    <script type="text/javascript" language="javascript">
        function ShowHide()
        {
            debugger;
            var txt = document.getElementById('txtNumber');
            txt.value='4';
            var lbl = document.getElementById('lblShowHide');
            if(lbl.style.visibility == 'hidden')
            {
                lbl.style.visibility = '';
            }
            else
            {
                lbl.style.visibility = 'hidden';
            }
        }
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:Label ID="lblNumber" runat="server" Text="Enter Number" />
        <asp:TextBox ID="txtNumber" runat="server" Text="5" />
        <asp:Label ID="lblShowHide" runat="server" Text="Show" />
        <input id="btnChangeByJS" type="button" value="HTML Change by JavaScript" onclick="ShowHide();" />
        <asp:Button ID="cmdSubmit" runat="server" Text="ASP Submit" />
        <asp:HiddenField ID="hfShowHide" runat="server" />
    </div>
    </form>
</body>
</html>

وشكرا لك!

هل كانت مفيدة؟

المحلول

وA إعادة النشر هو مجرد طريقة أخرى للقول قدم شكل أتش تي أم أل. عند إرسال نموذج، و<م> فقط أشياء إرسالها إلى الملقم هي value وname خصائص العناصر input وselect في النموذج. لهذا السبب يتم الاحتفاظ بك "النص": انها سمة value من هذا العنصر. إذا كنت ترغب في الاحتفاظ أيضا تغييرات ظهورك، أو أي تغييرات أخرى، تحتاج إلى إضافة عنصر إلى النموذج الخاص بك التي يمكن أن تعقد هذه التغييرات بطريقة أو بأخرى في سمة قيمة انها.

وهذا هو أساسا ما هو حالة العرض. عنصر مخفي إضافي به الخاصية قيمة يحمل الحالة الراهنة للضوابط. ولكن حالة العرض يعمل للحفاظ على الدولة بين مثيلات الملقم صفحتك. انها ليست للتحرك التغييرات الجديدة من العميل إلى الملقم.

نصائح أخرى

وربط على الحدث pageLoad العميل وإخفاء مربع النص هناك. مثال:

function pageLoad() {
        var txt = document.getElementById('txtNumber');
        txt.value='4';
        var lbl = document.getElementById('lblShowHide');
        if(lbl.style.visibility == 'hidden')
        {
            lbl.style.visibility = '';
        }
        else
        {
            lbl.style.visibility = 'hidden';
        }
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top