Witajcie, mam pewien problem, chodzi mi max length, niby działa, nie pozwala dalej pisać, ale gdy np skopiuje 300znakow, i wkleję, wtedy i tak będzie można wysłać tyle ile sie chce znaków, jak zrobić aby sie nie dało wysyłać więcej niż np 100 znaków?
shazarre
9.08.2008, 13:41:35
A co się później dzieje z wartością tego pola? Bo jeśli wklejasz je do bazy danych, to po prostu ustaw w jej strukturze długość pola na żądaną ilość znaków - uchroni Cię to przez przesłaniem zbyt dużej ilości znaków w taki sposób, jak podałeś. Jeśli nie wklejasz do bazy, to obsłuż to pole za pomocą javascript'u, np. poprzez zdarzenie onBlur(), onChange() albo onExit(), które wywoływało by funkcję przycinającą wartość pola do podanej wartości.
Znalazlem juz rozwiazanie - pomogles

Kod
<script language="JavaScript"><!--
var max = 5; // maksymalna liczba znaków
function sprawdz() {
if (document.form["pole"].value.length>=max) {
window.alert("Tekst zbyt długi. Maksymalnie "+max+" znaków!");
}
}
//--></script>
<form name="form">
<textarea name="pole" onchange="sprawdz()"></textarea>
</form>
Pozdrawiam
Shili
9.08.2008, 13:56:12
Jeśli potem przesyłasz to do php, to jeszcze w php musisz sprawdzać, pozbycie się jsowych zabezpieczeń jest bardziej banalne niż wiele osób zdaje sobie z tego sprawę