• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Funkcja czyszcząca value inputów [JS]

0 głosów
51 wizyt
pytanie zadane 8 listopada w JavaScript, jQuery, AJAX przez Michał Samolewski Obywatel (1,830 p.)
edycja 8 listopada przez Michał Samolewski

Cześć,

mam formularz HTML dodający osoby do bazy danych. W formularzu mam możliwość kliknięcia checkboxa, że dana osoba otrzymała nagrodę nobla. W js napisałem skrypt który powoduje że po zaznaczeniu tego checkboxa pojawiają się pod nim 2 dodatkowe inputy; 'data uzyskania' oraz 'za co?'. Skrypt zawiera również zapis dotyczący znikania tych inputów po odznaczeniu checkboxa.

HTML:

<div class="form-check">
  <input type="checkbox" id="nagrodanobla" name="nagrodanobla" value="1" class="form-check-input" onclick="nagrodanobla_ext()">
  <label for="nagrodanobla">Nagroda nobla</label>
</div>

<div class="form-group nagrodanobla_ext" style="display:none;">
  <input type="text" onfocus="(this.type='date')" placeholder="Data uzyskania" class="form-control"  name="nagrodanobla_od">
</div>
<div class="form-group nagrodanobla_ext" style="display:none;">
  <input type="text" placeholder="Za co?" class="form-control" name="nagrodanobla_zaco">
</div>

JS:

function nagrodanobla_ext(){

  var checkbox = document.getElementById("nagrodanobla");

  if(checkbox.checked==true)
  {
    var x = document.getElementsByClassName('nagrodanobla_ext');
    var i;
    for (i = 0; i < x.length; i++)
    {
        x[i].style.display = 'block';
    }
  }

  else if(checkbox.checked==false)
  {
    var z = document.getElementsByClassName('nagrodanobla_ext');
    var y;
      for (y = 0; y < z.length; y++)
      {
          z[y].style.display = 'none';
      }
  }
}

Mój problem polega na tym że po wpisaniu czegoś do tych dodatkowych inputów, a następnie odznaczeniu checkboxa w inputach pozostaje to co w nich napisałem, a chcę żeby odznaczenie checkboxa powodowało wyczyszczenie tych inputów. Jaki zapis muszę dodać do mojego skryptu JS żeby to tak działało? Wiem że trochę chaotycznie, ale chyba rozumiecie co mam na myśli. ;p

5!

1 odpowiedź

0 głosów
odpowiedź 8 listopada przez k.wichura Pasjonat (16,210 p.)
input.value = '';

?

komentarz 8 listopada przez Michał Samolewski Obywatel (1,830 p.)
Ale gdzie to umieścić w moim skrypcie? Jestem naprawdę zielony z JS

Podobne pytania

0 głosów
1 odpowiedź 80 wizyt
+1 głos
3 odpowiedzi 126 wizyt
pytanie zadane 5 marca 2016 w JavaScript, jQuery, AJAX przez BlvckFox Gaduła (3,170 p.)
Porady nie od parady
Odznacz odpowiedź zieloną fajką, jeśli uważasz, że jest ona najlepsza ze wszystkich i umożliwiła ci rozwiązanie problemu.Najlepsza odpowiedź

57,748 zapytań

102,787 odpowiedzi

212,076 komentarzy

29,694 pasjonatów

Przeglądających: 319
Pasjonatów: 14 Gości: 305

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...