Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JS] Dodatkowe pole 'input' w zależności od 'select'
Savage.Mephisto
post 24.01.2008, 21:21:05
Post #1





Grupa: Zarejestrowani
Postów: 122
Pomógł: 11
Dołączył: 24.01.2008

Ostrzeżenie: (0%)
-----


Witam.
Oto fragment kodu:

Kod
<script type="text/javascript">

function addTextField(x) {

    if (x.value == "Polska") {
    
        var newTextField = document.createElement("input");
        newTextField.type = "text";
        newTextField.name = "nip";
        newTextField.value = "* NIP";
        document.getElementById("Polska").appendChild(newTextField);

    } else if (x.value !== "Polska") {

                var newTextField = document.removeElement("input");
                document.getElementById("Polska").removeChild(newTextField);
    
    }
}
</script>


Kod
<select name="kraj" style="width: 205px;" onchange="addTextField(this)">
                         <option value="Belgia">Belgia</option>
                         <option value="Czechy">Czechy</option>
                         <option value="Estonia">Estonia</option>
                         <option value="Litwa">Litwa</option>
                         <option value="Ĺ�otwa">Ĺ�otwa</option>
                         <option value="Niemcy">Niemcy</option>
                         <option value="Polska">Polska</option>
                         <option value="Rosja">Rosja</option>
                         <option value="SĹ‚owacja">SĹ‚owacja</option>
                         <option value="Ukraina">Ukraina</option>
</select>
<label id="Polska">
</label>


Chciałbym stworzyć dynamiczny formularz, w zależności od wybranej wartości pola select. Jeśli wybiorę z listy opcję 'Polska', to tworzy się dodatkowe pole 'input', w którym można wpisać numer NIP. To działa w powyższym skrypcie, problemem dla mnie jest stworzenie wyjątku, kiedy użytkownik ponownie wybierze z listy jakąś opcję - nowo utworzone pole 'input' powinno zniknąć. Nie wiem jak to zrealizować za pomocą funkcji, aby działało.

Nie znam się za bardzo na JS.
Proszę o wyrozumiałość i jakąś podpowiedź.


--------------------
Myślisz, że przeżyjesz swoje życie w blasku i chwale...
Lecz jest coś, co zmieni ci cały świat...
Szczerość!
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
arecki
post 25.01.2008, 00:50:45
Post #2





Grupa: Zarejestrowani
Postów: 222
Pomógł: 35
Dołączył: 6.02.2005

Ostrzeżenie: (0%)
-----


Trochę poprawiłem.
  1. function addTextField(x) {
  2.  
  3. if (x.value == "Polska") {
  4.  
  5. var newTextField = document.createElement("input");
  6. newTextField.type = "text";
  7. newTextField.name = "nip";
  8. newTextField.id = "nip";
  9. newTextField.value = "* NIP";
  10. document.getElementById("Polska").appendChild(newTextField);
  11.  
  12. } else if (x.value !== "Polska") {
  13.  
  14. var newTextField = document.getElementById("nip");
  15. if(newTextField) {
  16. document.getElementById("Polska").removeChild(newTextField);
  17. }
  18.  
  19. }
  20. }


--------------------
Go to the top of the page
+Quote Post
Savage.Mephisto
post 25.01.2008, 01:06:22
Post #3





Grupa: Zarejestrowani
Postów: 122
Pomógł: 11
Dołączył: 24.01.2008

Ostrzeżenie: (0%)
-----


Bóg zapłać dobry człowieku.
O to mi właśnie chodziło.


--------------------
Myślisz, że przeżyjesz swoje życie w blasku i chwale...
Lecz jest coś, co zmieni ci cały świat...
Szczerość!
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 24.07.2025 - 19:58