Centrum skryptów - Systemy operacyjne

Jak użytkownicy mogą wpisywać dane do aplikacji HTML, nie używając pól tekstowych?

Udostępnij na: Facebook

Skrypciarze odpowiadają na Wasze pytania

Cześć Skrypciarze!

Witamy w rubryce TechNet, w której Skrypciarze z firmy Microsoft odpowiadają na częste pytania dotyczące używania skryptów w administracji systemu. Jeśli macie jakieś pytania z tej dziedziny, zachęcamy do wysłania e-maila na adres: scripter@microsoft.com. Nie możemy zagwarantować odpowiedzi na każde otrzymane pytanie, ale staramy się jak możemy.

Jak użytkownicy mogą wpisywać dane do aplikacji HTML, nie używając pól tekstowych?

Cześć Skrypciarze! Pytanie

Cześć, Skrypciarze! Używam aplikacji HTML jako formularzy do wprowadzania danych, ale nie podoba mi się ich wygląd, kiedy znajdują się w nich pola tekstowe. Czy można wprowadzać dane do formularzy bez użycia pól tekstowych?

-- JJ

Cześć Skrypciarze! Odpowiedź

Cześć, JJ. Zanim zaczniemy, w całej swej uczciwości, powinniśmy dać Ci szansę na wycofanie pytania i zadanie go w innym miejscu. I nie robimy tego dlatego, że jesteśmy za leniwi, aby odpowiedzieć na Twoje pytanie (chociaż jesteśmy, ale to już całkiem inna historia). Robimy, to gdyż Ty na pewno oczekujesz na odpowiedź udzieloną w sposób dojrzały i odpowiedzialny. Niestety, nie możemy tego zagwarantować.

Jeśli nam nie wierzysz zapytaj Skrypciarskiego Syna. Wczoraj Skrypciarski Syn miał do szkoły na godzinę 10. Wczesnym rankiem powiedział ojcu „Cześć, tato Skrypciarzu! Czy mógłbyś zadzwonić z pracy koło 9 i mnie obudzić?” Skrypciarz pomarudził chwilę, udzielił paru porad dotyczących odpowiedzialności i samoorganizacji, po czym zgodził się zadzwonić o 9.

Około 10.15 do Sprypciarza piszącego te słowa zadzwonił telefon. „Cześć, tato”, powiedział niezadowolony głos po drugiej stronie. „Dzięki, że mnie obudziłeś!”

Na szczęście Skrypciarski Syn spóźnił się tylko na lekcję historii. A nie coś ważnego, jak na przykład trening z baseballu!

Innymi słowy, JJ, jeśli chcesz zadać swoje skrypciarskie pytanie gdzie indziej, to nie będziemy mieli Ci tego za złe. Jeśli jednak wciąż jesteś gotów zaufać Skrypciarzowi piszącemu te słowa, to poniżej znajduje się prosta aplikacja HTML bez pól tekstowych, ale wciąż pozwalająca uzytkownikom na wprowadzanie danych:

<body>

    <b>Please enter some data in the space below:</b>  

    <div id=divWriter1 CONTENTEDITABLE></div><p>

    <b>Please enter more data in the space below:</b>  

    <div id=divWriter2 CONTENTEDITABLE></div><p>

</body>

Czy możemy przyjrzeć się temu jak działa ta aplikacja? Jasne, że tak!

Na początku mamy tu podane tłustym drukiem polecenie dla użytkownika, aby wprowadził dane w miejscu poniżej. Dalej mamy następującą konstrukcję HTML:

<div id=divWriter1 CONTENTEDITABLE></div><p>

W typowej aplikacji HTML jest to miejsce, w którym wstawilibyśmy pole tekstowe. Jednak JJ nie chce mieć tutaj pola tekstowego. Zamiast niego umieściliśmy tu więc znacznik <DIV>. DIV to po prostu nazwana część strony HTML. W tym przypadku nazwa naszego DIV brzmi: divWriter1. DIV jest często używany jako miejsce przechowywania aktualizacji dynamicznych. Na przykład, okresowo uruchamiany skrypt zbiera informacje na temat uruchomionego w komputerze procesu do DIV. Daje to możliwość okresowego wyświetlania aktualnych co do minuty informacji o procesie, bez potrzeby nadpisywania (a potem ponownego tworzenia) reszty aplikacji HTML.

Ale tutaj robimy coś innego. Zauważmy, że do naszego DIV dodaliśmy parametr: CONTENTEDITABLE. Co robi ten parametr? Co może robić taki parametr? Sprawia, iż DIV jest edytowalny. Znaczy to, że można w to miejsce wpisywać tekst, wprowadzając tym samym dane do aplikacji HTML. I można to robić pomimo tego, że nie ma pola tekstowego. Niezłe, co?

Zobaczmy, jak wygląda produkt końcowy, w którym mamy dwa elementy DIV, każdy z aktywowanym atrybutem CONTENTEDITABLE:

Dobra. Prawdę mówiąc nie wygląda jakoś szczególnie. Ale zauważmy, co się dzieje, kiedy klikamy w puste miejsca pod napisami tłustym drukiem i zaczynamy pisać:

No właśnie. Nie ma pola tekstowego, ale wciąż możemy wpisywać dane. Jeśli chcemy, to możemy nawet zaznaczyć dane i pogrubić czcionkę, którą zostały wpisane, zmienić ją na kursywę albo zrobić podkreślenie (na przykład, zaznacz słowo i naciśnij Ctrl+B). Tak naprawdę jeśli chcemy, możemy utworzyć jakiś mały, zmyślny edytor z funkcjami pozwalającymi na zmianę czcionki, wyrównywanie tekstu lub jeszcze innymi, wedle życzenia. Ale to wychodzi nieco poza to, czym się zajmujemy na naszych łamach. Jak na razie cieszymy się, że możemy wpisywać tekst do aplikacji HTML, nie używając pól tekstowych.

Można też dodawać swego rodzaju style do naszego DIV-a. Powiedzmy, że chcemy, by wpisywany tekst był czerwony. Tej sztuczki dokona ten znacznik:

<div id=divwriter1 CONTENTEDITABLE style="color:red"></div><p>

A tutaj znacznik, który ustawi kolor tła DIV inny niż biały:

<div id=divwriter1 CONTENTEDITABLE style="background-color:navajowhite"></div><p>

Itd., itp.

Jeszcze jedno pytanie: jak pobierać informacje wpisane w DIV? To, jak się okazuje, jest całkiem proste: wystarczy zbadać wartość właściwości innerText. Poniżej znajduje się przykład podprogramu, który wyświetla informacje wpisane do divWriter1:

<Script Language="VBScript">

    Sub TextRetriever

        Msgbox divwriter1.innerText

    End Sub

</Script>

I, jak już mówiliśmy, itd., itp.

To powinno wystarczyć na początek, JJ. Jeśli chodzi o Skrypciarskiego Syna, to poszedł w końcu do szkoły, tylko trochę później. Ale przecież tak naprawdę to jego wina. Dlaczego jest taki nierozsądny i polega na tacie Skrypciarzu, uważając go za kogoś dojrzałego i odpowiedzialnego w rodzinie? Po 17 latach można by pomyśleć, że powinien znać swojego tatę lepiej.

 Do początku strony Do początku strony

Centrum skryptów - Systemy operacyjne