Centrum skryptów - Systemy operacyjne

W jaki sposób można wyczyścić pole listy aplikacji HTML? 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.

W jaki sposób można wyczyścić pole listy aplikacji HTML?

Cześć Skrypciarzu! W jaki sposób mogę wyczyścić pole listy w aplikacji HTML?

-- AK

Cześć AK. Najpierw wyjaśnienie dla osób niezorientowanych w temacie: aplikacja HTML (w użyciu jest też skrót HTA) służy do tworzenia graficznego interfejsu obsługi skryptów przy użyciu przeglądarki Internet Explorer. (Jeśli w dalszym ciągu nie wiesz, o co chodzi, nie rozpaczaj, 11 kwietnia rusza nasze centrum programistyczne HTA.) Dzięki aplikacji HTML Twoje systemowe skrypty administracyjne mogą nabrać wyglądu i funkcjonalności prawdziwych aplikacji - z przyciskami, polami tekstowymi, polami wyboru i, no właśnie, polami listy.

Załóżmy więc, że posiadasz już pole listy z kilkoma elementami (które fachowo zwie się opcjami). Innymi słowy, masz coś takiego:

Załóżmy też, że chcesz usunąć wszystkie te opcje, tak by mieć świeże, czyste pole listy. Jak to zrobić?

Jak wiemy, nie ma jednego polecenia, które od razu usuwałoby wszystkie opcje pola listy. Nie szkodzi - nie można zrobić tego za jednym zamachem, ale możemy usuwać opcje pojedynczo, używając metody RemoveNode. Wystarczy zastosować tę metodę do wszystkich opcji w polu i skasować je jedna po drugiej. W tym celu trzeba do naszej aplikacji dodać procedurę ClearListbox:

Sub ClearListbox

    For Each objOption in AvailableOptions.Options

        objOption.RemoveNode

    Next 

End Sub

Uwaga: W przykładowej procedurze pole listy które chcemy wyczyścić nazywa się AvailableOptions.

Jak widać, tworzymy pętlę typu For Each, przechodzącą przez wszystkie opcje (Options) w polu listy o nazwie AvailableOptions. Dla każdej znalezionej opcji (pamiętajmy, że opcje odpowiadają elementom pola), wywołujemy metodę RemoveNode, usuwając ją. Kiedy pętla For Each zakończy działanie, każdy element pola zostanie odnaleziony i usunięty.

Teraz trzeba tylko dodać przycisk do naszej aplikacji; kliknięcie tego przycisku powodować będzie uruchomienie procedury ClearListbox. Oto kod HTML który doda potrzebny przycisk do aplikacji:

<input id=runbutton  class="button" type="button" value="Clear Listbox" 

name="run_button"  onClick="ClearListbox"><p>

To wszystko. Kiedy uruchomimy udoskonaloną aplikację i klikniemy przycisk Clear Listbox, wszystkie opcje w polu zostaną usunięte, a pole będzie wyglądać tak:

Zapiera dech, no nie?

Jeśli chcesz wypróbować ten skrypt, poniżej zamieszczamy fragment kodu który utworzy aplikację HTML z ośmioelementowym polem listy. Kliknięcie przycisku Clear Listbox usunie wszystkie elementy. W celu uruchomienia tego przykładowego kodu, skopiuj go, wklej do Notatnika i zapisz z rozszerzeniem .hta (np. listbox.hta). Następnie kliknij plik dwukrotnie z Eksploratora Windows i zobacz efekty.

Oto kod aplikacji:

<html>

<head>

<title>Clear a Listbox</title>

</head>



<SCRIPT Language="VBScript">



Sub ClearListbox

    For Each objOption in AvailableOptions.Options

        objOption.RemoveNode

    Next 

End Sub



</SCRIPT>



<body bgcolor="buttonface">



<select size="8" name="AvailableOptions" style="width:400" >

<option value="1">Option 1</option>

<option value="2">Option 2</option>

<option value="3">Option 3</option>

<option value="4">Option 4</option>

<option value="1">Option 5</option>

<option value="2">Option 6</option>

<option value="3">Option 7</option>

<option value="4">Option 8</option>

</select>



<p>

<input id=runbutton  class="button" type="button" value="Clear Listbox" 

name="run_button"  onClick="ClearListbox"><p>



</body>

</html>

 

 Do początku strony Do początku strony


Centrum skryptów - Systemy operacyjne