Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JS] Dodatkowe pole 'input' w zależności od 'select'
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
Savage.Mephisto
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ź.
arecki
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. }
Savage.Mephisto
Bóg zapłać dobry człowieku.
O to mi właśnie chodziło.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.