• 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
62 wizyt
pytanie zadane 8 listopada 2018 w JavaScript, jQuery, AJAX przez Michał Samolewski Obywatel (1,830 p.)
edycja 8 listopada 2018 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 2018 przez k.wichura Pasjonat (18,170 p.)
input.value = '';

?

komentarz 8 listopada 2018 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
2 odpowiedzi 90 wizyt
pytanie zadane 6 stycznia w JavaScript, jQuery, AJAX przez 42savage Użytkownik (750 p.)
0 głosów
1 odpowiedź 82 wizyt
pytanie zadane 27 kwietnia 2018 w JavaScript, jQuery, AJAX przez Apper97 Obywatel (1,270 p.)
Porady nie od parady
Zadając pytanie postaraj się o szczegółowe opisanie problemu oraz udostępnienie wszystkich istotnych informacji (kody źródłowe, zrzuty ekranu itp.).Opisanie problemu

60,273 zapytań

105,971 odpowiedzi

220,187 komentarzy

32,477 pasjonatów

Przeglądających: 234
Pasjonatów: 13 Gości: 221

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.

...