x-kom hosting

Jak zrobić troche bardziej zaawansowany obszar tekstowy

expir
utworzono
utworzono (edytowane)

Witam,
Może mi ktoś podać kod do obszaru tekstowego którego :
1.Nie da się powiększyć ani pomniejszyć tylko żeby miał stałą wartość ustaloną przezemnie (ten taki guzik w prawym lewym rogu i jak sie go przesunie to sie powiększa lub zmniejsza)
2.Tekst wpisany przez użytkownika będzie sprawdzony i jeśli wpisze np "dir" lub "help" to wyświetli dany tekst,a jeśli coś innego to wyświetli tekst "Zła komenda"
3.Nie da się powrócić do wcześniej wpisanego tekstu i nie da się go zmienić

leggo
komentarz
komentarz (edytowane)

1. Obszar tekstowy bez możliwości zmiany rozmiaru:
[CODE]
<textarea rows="10" cols="30" style="resize: none;">
Tekst.
</textarea>
[/CODE]

2. Musisz sprawdzać to sam. Gdy użytkownik wciśnie odpowiedni przycisk powinieneś pobrać zawartość pola tekstowego i sprawdzić czy znajduje się tam obsługiwana komenda.

3. Żeby osiągnąć taki efekt musisz podejść do tego trochę inaczej:
W polu tekstowym powinna znajdować się tylko aktualnie wpisywana komenda (zamiast textarea lepiej użyć text input). W momencie naciśnięcia przycisku pobierasz zawartość input-a, interpretujesz ją i czyścisz input-a. Wszystkie wcześniej wpisane komendy i ich efekty powinny być wypisane na stronie, ale poza polem tekstowym, jako zwykły tekst. W ten sposób użytkownik nie będzie miał możliwości edycji wcześniejszych komend.

Amedos
komentarz
komentarz

2. Można zrobić to w PHP :)[CODE]
if($_POST['nazwa_inputa']==="dir")
{
echo 'Wyswietla to co z dir';
}
if($_POST['nazwa_inputa']==="help")
{
echo 'To samo';
}
[/CODE]

expir
komentarz
komentarz

A można zrobić tak żeby była textarea ale dało sie wysyłać tak jak w textinpucie ? (enterem)

Mam pytanie
Jak zrobić textarea z resize: none i żeby jednocześnie był obrazek w tle ?
Wiem jak zrobić te dwie rzeczy osobno,ale jak próbuje je jakoś złączyć to coś nie wychodzi :/ tło jest białe w textarea.

leggo
komentarz
komentarz (edytowane)

[CODE]
<textarea rows="10" cols="30" style="resize: none; background: url(nazwaObrazka.jpg)">
Tekst.
</textarea>
[/CODE]
U mnie działa w porządku.

.edit
[quote name='expir' timestamp='1345907270' post='1566561']
A można zrobić tak żeby była textarea ale dało sie wysyłać tak jak w textinpucie ? (enterem)
[/quote]
Można. Tylko po co? [b]Textarea[/b] służy właśnie do tego by można było wprowadzać kilka linii tekstu. Jeśli chcesz pobierać tylko jedną linię użyj zwykłego inputa. Blokowanie tej możliwości w [b]textarea[/b] było by bez sensu.

expir
komentarz
komentarz

No też mi teraz działa,a można zrobić tak że jak sie dopisze do końca linii (tzn do samego dołu) to żeby sie nie pokazywało przesuwadło (lol) tylko żeby dalej sie nie dało ? Lub wyświetliło komunikat "textarea jest pełna !"

leggo
komentarz
komentarz (edytowane)

Musisz dodać do textarea atrybut [b]onkeypress[/b] i w nim podać funkcję która będzie kontrolować ilośc wpisanych znaków. Np:
[CODE]
<textarea name="nazwa" rows="10" cols="30" onkeypress="funkcja()" style="resize: none; background: url(nazwaObrazka.jpg)">
Tekst.
</textarea>
[/CODE]
W funkcji powinieneś pobrać długość aktualnie wpisanego tekstu i w razie przepełnienia odpowiednio zareagować. W funkcji potrzebna ci też będzie nazwa pola tekstowego, więc musisz to dodać do kodu.

.edit
Jeśli zależy Ci tylko na tym żeby nie wyświetlało się "przesuwadło" możesz w stylach ustawić:
[CODE]
overflow: hidden;
[/CODE]

Wciąż szukasz rozwiązania problemu? Napisz teraz na forum!

Możesz zadać pytanie bez konieczności rejestracji - wystarczy, że wypełnisz formularz.

×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Strona wykorzystuje pliki cookies w celu prawidłowego świadczenia usług i wygody użytkowników. Warunki przechowywania i dostępu do plików cookies możesz zmienić w ustawieniach przeglądarki.