2011-06-29 6 views
0

J'ai deux champs de saisie sur ma page ASP.NET:comment afficher le texte de la première zone de texte dans la deuxième zone de texte?

  1. Alt
  2. Légende

Quand je suis entré dans un texte Alt et après que le clic sur la légende que je veux à affiche le même texte que celui entré dans Alt.

S'il vous plaît aidez-moi.

Merci d'avance.

+0

La meilleure façon de le faire est d'utiliser un JavaScript. Le faire en ASP sur Postback rendrait le site que vous construisez lent. – ub1k

Répondre

3

hmm, vous devez être plus précis sur la façon dont vous voulez le faire car vous avez beaucoup d'options ici, par exemple.

  • sur côté client en utilisant JavaScript, jQuery ou knockoutjs

Alors, de quelle manière préférez-vous? fonction JavaScript:

function CaptionOnFocus() { 
    document.getElementById('<%=Caption.ClientID%>').value = 
    document.getElementById('<%=Alt.ClientID%>').value; 
} 

<asp:TextBox ID="Caption" onfocus="CaptionOnFocus();" runat="server" /> 

jQuery:

$("#Caption").focus(function() { 
    $("#Caption").val($(this).val()); 
}); 
  • Dans le code côté serveur. Set AutoPostBack="True" sur Légende contrôle TextBox, utilisez gestionnaire d'événements OnGotFocus() et, en elle, copiez le texte à la légende, comme ceci: Caption.Text=Alt.Text
+0

Les deux zones de texte peuvent également être configurées dans un panneau de mise à jour ajax pour permettre une saisie en douceur. Cependant javascript serait le meilleur :) – Jayesh

+0

merci beaucoup .. je veux le faire par javascript. – divya

1
<script language="javascript"> 

    function fillField() { 
     document.getElementById('caption').value = document.getElementById('alt').value; 
    } 

</script> 

<asp:TextBox id="caption" runat="server" onfocus="Javascript:fillField();" /> 
+0

thanx Saurabh ... – divya

Questions connexes