内联编辑控件

时间:2010-11-12 14:21:48

标签: c# asp.net

使用文本框的值初始化标签。单击标签后,将显示文本框。然后,用户可以编辑文本框的内容。在模糊焦点时,隐藏文本框并显示标签。如果用户删除文本框的内容或仅在文本框中输入空格,则不会隐藏文本框,从而避免显示没有文本的标签。有没有办法做到这一点 ?

2 个答案:

答案 0 :(得分:0)

检查文本框不为空的js验证

function Validate()
{
    if(document.getElementById("txta").value=="")
    {
        alert('Please enter the value');
        document.getElementById("txta").focus();
        return false;
    }
}

或者你可以服务器端

if (txa.text ="")
{
Response.Write('Text box cannot be empty');
}

答案 1 :(得分:0)

未经测试,但总的想法可以帮助你。

HTML:

<asp:TextBox ID="txtA" onblur="txtBlur();" style="display:none;" runat="server"/>
<asp:Label ID="txtA" onclick="txtFocus();" runat="server"/>

客户端JS:

    <script>
    var txtA = document.getElementById("<%# txtA.ClientID %>");
    var lblA = document.getElementById("<%# lblA.ClientID %>");

    function txtBlur()
    {
        if (txtA.value.trim() != '')
        {
            lblA.innerText = txtA.value;

            lblA.style.display = 'inline';
            txtA.style.display = 'none';
        }
    }

    function txtFocus()
    {
        txtA.value = lblA.innerText;

        lblA.style.display = 'none';
        txtA.style.display = 'inline';
    }
    </script>