Podczas korzystania z MultiLine TextBox (który generuje ustawienie TextArea) właściwość MaxLength nie ma wpływu. Jakie jest najlepsze obejście tego problemu? Chciałbym uzyskać podstawową, zamierzoną funkcjonalność przy minimalnym brzydkim javascriptu itp. Po prostu uniemożliwić użytkownikowi wprowadzenie więcej niż maksymalnej liczby znaków.Jak ustawić maksymalną długość dla wieloliniowego TextBox?
Odpowiedz
Jeśli chcesz poinformować użytkownika, że przekroczył liczbę znaków w trakcie pisania, możesz użyć funkcji javascript dołączonej do zdarzenia keypress. Ta funkcja sprawdzi długość wprowadzanych danych i anuluje renderowanie znaków, jeśli zostanie osiągnięte maksimum.
Inną opcją jest użycie kontrolki RegularExpressionValidator
do sprawdzania poprawności danych wejściowych w przesyłaniu.
Moim zdaniem pierwsza opcja jest znacznie lepsza.
Nie dodaję żadnego kodu, ponieważ google jest pełen przykładów dla wszystkich smaków, jest to bardzo częste zadanie.
Here masz przykładowe wyszukiwanie, które może pomóc.
Hej pukipuki można to zrobić w następujący sposób:
<asp:TextBox ID="txtValue" runat="server"TextMode="MultiLine" Rows="10"Columns="50"></asp:TextBox>
$(document).ready(function(){
var MaxLength = 250;
$('#txtValue').keypress(function(e)
{
if ($(this).val().length >= MaxLength)
{
e.preventDefault();
}
});});
można zobaczyć więcej w tym poniższym linkiem: http://jquerybyexample.blogspot.in/2010/10/set-max-length-for-aspnet-multiline.html
Podczas gdy to powstrzymuje użytkowników od wpisywania większej ilości tekstu, uniemożliwia im to również użycie klawiszy Delete lub Backspace (lub innych klawiszy) w polu, aby mogli " t faktycznie edytuje tekst po osiągnięciu limitu. –
Twoja odpowiedź jest bardziej kompletna i użyteczne niż zaakceptowana. +1 dla ciebie –
nie działa dla kopiowania i wklejania – fubo
Jeśli używasz wiążą model obiektowy do tego pola tekstowego można wykorzystać atrybuty DataAnnotations ustawić maksymalną długość tej właściwości. Opieram się na MVC o tym, ale to powinno działać również dla ASP.NET!
W ten sposób nie zadzierzesz z żadnym Javascriptem ani ustawieniem czegokolwiek w znacznikach.
Niestety WebForms nie ma natywnej obsługi Adnotacji danych, takich jak MVC. Ale są pewne obejścia, sprawdzam je, dzięki! doskonały przykład pożądanej odpowiedzi) +1 –
Jeśli nie dbają o starszych przeglądarek (patrz supported browsers here)
można ustawić MaxLength normalnie jak ten
<asp:TextBox ID="txt1" runat="server" TextMode="MultiLine" MaxLength="100" />
i zmusić go do wydrukowania się HTML
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
txt1.Attributes.Add("maxlength", txt1.MaxLength.ToString());
}
Wypróbuj to ..
Dim script As String = ""
script = script + " <script type='text/javascript'> function CheckLength(obj) {"
script = script + " var object = document.getElementById(obj);"
script = script + " if (object.value.length > 5) {"
script = script + " object.focus();"
script = script + " object.value = object.value.substring(0, 5); "
script = script + " object.scrollTop = object.scrollHeight; "
script = script + " return false;"
script = script + " }"
script = script + " return true;"
script = script + " }</script>"
Dim b As New TextBox()
b.ID = "btnSomeButton"
b.TextMode = TextBoxMode.MultiLine
Mypanel.Controls.Add(b)
b.Attributes.Add("onkeyup", "return CheckLength('" & b.ClientID & "');")
Page.ClientScript.RegisterStartupScript(Page.GetType(), "key", script, False)
Oto krzyż rozwiązanie przeglądarka:
<asp:TextBox TextMode="MultiLine" runat="server" ID="txtPurpose" Columns="50" Rows="2" onkeypress="return isokmaxlength(event,this,255);" ClientIDMode="static"></asp:TextBox>
Javascript:
function isokmaxlength(e,val,maxlengt) {
var charCode = (typeof e.which == "number") ? e.which : e.keyCode
if (!(charCode == 44 || charCode == 46 || charCode == 0 || charCode == 8 || (val.value.length < maxlengt))) {
return false;
}
}
Trzeba myśleć o kopiowanie i wklejanie. Jest to trochę trudne, po prostu wyłączam je przy pomocy Jquery'ego. Możesz jednak utworzyć własną funkcję, aby przeprowadzić bardziej złożoną weryfikację. Ale w moim przypadku kopiowanie i wklejanie jest niedozwolone.
jQuery wyłączyć kopiowania i wklejania:
jQuery(function ($) {
$("#txtPurpose").bind({
paste: function (e) {
e.preventDefault();
}
});
});
- 1. Jak ustawić maksymalną długość kolumny datagridview
- 2. Jak ustawić maksymalną długość linii w PyCharm?
- 3. Jak ustawić maksymalną długość wiersza w edytorze kodu Android Studio?
- 4. Czy ArrayBuffers mają maksymalną długość?
- 5. Ustaw maksymalną długość bloku tekstowego w XAML
- 6. Jak ograniczyć maksymalną długość wersji roboczej
- 7. Jak ustawić maksymalną szerokość $ mdDialog?
- 8. Python/matplotlib mplot3d- jak ustawić maksymalną wartość dla osi Z?
- 9. Jak ustawić kolumny QTableWidget na maksymalną przestrzeń?
- 10. Jak ustawić maksymalną szerokość wyjściową w numpy?
- 11. Jak ustawić maksymalną długość boku trójkąta w triangulacji Delaunaya w R?
- 12. Walidator wyrażeń regularnych ASP dla wieloliniowego pola tekstowego
- 13. Jak utworzyć tablicę złożoną, która zawiera maksymalną długość?
- 14. Jak wpisać liczby tylko w UITextField i ograniczyć maksymalną długość?
- 15. Jak dopasować rozmiar i maksymalną długość pola wprowadzania tekstu?
- 16. Jak ustawić długość treści w Spring MVC REST dla JSON?
- 17. danych wiążące dla TextBox
- 18. Jak ustawić długość listy w języku Python
- 19. Uzyskaj maksymalną długość kolumny "ciąg" za pomocą LINQ do SQL
- 20. Jak ustawić centrum wyrównania w TextBox w ASP.NET?
- 21. Jquery pomaga wymusić maksymalną długość na polu tekstowym?
- 22. Jak ustawić domyślną wartość pustego ciągu tekstowego TextBox zamiast zerowego
- 23. Chcę ustawić maksymalną wysokość w oknie dialogowym
- 24. Kreator Qt: edycja tekstu wieloliniowego
- 25. Jak programowo wyświetlić klawiaturę dla textbox?
- 26. Zwiększ maksymalną długość adresu URL w witrynach Azure?
- 27. Błąd modułu ładującego SQL: "Pole długości zmiennej przekracza maksymalną długość."
- 28. Jak ustawić maksymalną liczbę pracowników w paczce/matlabpool z konsoli?
- 29. Jak ustawić maksymalną wysokość z zawartością zawijania w systemie Android?
- 30. Jak ustawić maksymalną liczbę procesów lub wątków MySQL?
możliwy duplikat [Określanie maxLength dla wielowierszowego pola tekstowego] (http: // stackoverflow.com/questions/1334286/formatowanie-maxlength-for-multiline-textbox) –