2010-11-12 5 views
0

Метка инициализируется значением текстового поля. После щелчка на ярлыке отображается текстовое поле. Затем пользователь может редактировать содержимое текстового поля. После размытия фокуса текстовое поле скрыто и отображается метка. Если пользователь удаляет содержимое текстового поля или только вводит пробел в текстовое поле, текстовое поле не скрывается, что позволяет избежать ярлыка без текста. Есть ли способ сделать это ?inline edit control

+0

Я считаю, что это будет код на стороне клиента. Таким образом, JavaScript является обязательным. –

ответ

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> 
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'); 
}