2011-11-15 4 views
2

J'utilise ce JS pour effacer la zone de texte lorsque l'utilisateur clique dessus, donc cela fonctionne bien et efface toute la zone de texte dans la page, je veux effacer seulement la zone de recherche Recherche .. Comment puis-je faire , Une autre zone de texte ne doit pas être effacée et seule cette zone de texte de recherche doit être effacée lorsque je clique dessus.Comment effacer une zone de texte lorsqu'on clique dessus?

<script type="text/javascript"> 
     $(function() { 

      $('input[type=text]').focus(function() { 

       $(this).val('') 
      }); 

     }); 
    </script> 

Et une autre question.

J'ai un panneau avec quelques zone de texte, comment puis-je mettre l'accent sur une zone de texte particulier

<asp:TextBox ID="txt_Name" runat="server" /> 

Répondre

1

Je pense que ce ne est pas la meilleure idée d'utiliser id valeurs depuis .net pourrait changer la valeur id dans l'exécution

eg MainContent_txt_Name 

vous pouvez faire quelque chose comme ça

<asp:TextBox ID="txt_Name" CssClass="myText" runat="server" /> 

<script type="text/javascript"> 
     $(document).ready(function() {  
      $('.myText').click(function() { 
       $(this).val('') 
      });  
     }); 
</script> 
+0

Si votre javascript est sur la même page et non un fichier externe alors il n'y a pas de mal à utiliser 'ClientID' comme dans' $ ('# <% = (txt_name.ClientID)%>'). Cliquez sur (.....); 'Ceci utilise l'identifiant unique du client, donc peu importe quoi.net fait avec le changer –

+0

mais en utilisant une classe sera plus utilisable si besoin d'appliquer la même chose à plus d'une zone de texte –

+0

en effet, mais la question liée à effacer seulement la zone de texte de recherche –

0

au lieu de $('input[type=text]') faire $('search-box-id')

+0

manquant le '#' dans '$ ('# recherche-box-id')';) –

2

Il suffit de sélectionner le TextBox via son ID ou un autre attribut

par exemple

<asp:TextBox id="txt_Search" runat="server" /> 

Puis sélectionnez le TextBox via son ID client unique.

$('#<%=(txt_Search.ClientID)%>').focus(function() { $(this).val(''); }); 
2

Pour valeur claire - $('#yourTextBox').val('');

mise au point fixe - $('#yourTextBox').focus();

0

tout ce que vous avez besoin est de spécifier id pour la zone de recherche, essayez d'inspecter votre élément, ou voir la source afin d'obtenir id droit, parce id est généré par des formulaires Web ASP.NET, ou vous pouvez ajouter comme attribut personnalisé rel = "recherche-box"

c'est si javascript

$(document).ready(function() { 
    //for id 
    $('#id_of_text_box').focus(function() { $(this).val('');); 
    //for rel attribute 
    $('input[rel="search-box"]').focus(function() {$(this).val('');); 
}); 
0

Une autre option, descendant un itinéraire légèrement différent, utilise le composant filigrane de la zone de texte JQuery. Cela a déjà été créé pour faire exactement ce que vous demandez et se repeupler quand ils cliquent loin de la zone de texte, mais le backend ne verra jamais la valeur. Vous éviter les tracas de le faire soi-même!

http://code.google.com/p/jquery-watermark/

Questions connexes