2016-07-17 1 views
0

J'utilise une zone de texte pour la description d'entrée et peut être assez long à éditer. Existe-t-il un moyen de rendre la ligne multiple?zone de texte de plusieurs lignes sans zone de texte

Si cela pouvait être fait en css, ce serait le meilleur! Je ne veux pas utiliser textarea parce que quand il apparaît sur un formulaire de recherche et les gens poussent "entrer" il va à la ligne suivante. Si vous pouvez arrêter cela, ce serait acceptable.

+0

partagent le texte d'entrée que vous utilisez. – Manjuboyz

+1

Par "textbox" vous voulez dire "'? Si oui, la réponse est non. Vous ne pouvez pas faire de saisie de texte sur plus d'une ligne. C'est ce que vous avez ' alors cela aura seulement 3 lignes ou 50 caractères chacun. – Manjuboyz

Répondre

1

Vous ne pouvez pas faire en sorte qu'un élément d'entrée comporte plusieurs lignes de texte, mais vous pouvez créer une zone de texte très proche d'un élément d'entrée avec seulement les quelques différences que vous souhaitez.

Tout ce que vous avez à faire est d'empêcher l'action par défaut pour la touche d'entrée lorsque vous appuyez sur la touche Entrée dans la zone de texte.

//When key is pressed inside elements with no-enter class 
 
$(".no-enter").keypress(function(e) { 
 
    //If the key pressed is the 'enter' key, prevent the default action (next line). 
 
    if(e.keyCode === 13) e.preventDefault(); 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<textarea class="no-enter" placeholder="A whole lot of useless text that goes to the next line."></textarea>

Si vous souhaitez supprimer la zone de texte de la propriété de redimensionnement de faire ressembler davantage à un élément d'entrée utiliser dans votre CSS.

.no-enter { 
    resize: none; 
} 

//When key is pressed inside elements with no-enter class 
 
$(".no-enter").keypress(function(e) { 
 
    //If the key pressed is the 'enter' key, prevent the default action (next line). 
 
    if(e.keyCode === 13) e.preventDefault(); 
 
})
.no-enter { 
 
    resize: none; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<textarea class="no-enter" placeholder="A whole lot of useless text that goes to the next line."></textarea>

0

Je suggère d'utiliser textarea lui-même. utilisez les lignes avec

<textarea name="Text1" cols="50" rows="3"></textarea> 

De cette façon, vous n'aurez que 3 lignes. ou vous pouvez le faire à '1'.

Pour désactiver la touche Entrée:

<asp:TextBox ID="TextBox1" runat="server" onkeydown = "return (event.keyCode!=13);" > 
</asp:TextBox> 

si vous voulez l'utiliser dans le code derrière:

TextBox1.Attributes.Add("onkeydown", "return (event.keyCode!=13);"); 
+1

Cela définit le nombre de lignes visibles, mais cela n'empêche pas l'utilisateur d'ajouter de nouvelles lignes en appuyant sur ENTRÉE. –

+1

donner un sens, mis à jour le code, merci. – Manjuboyz