[JavaScript] Nieaktywne pole tekstowe (input text)

W tym kr贸tkim wpisie poka偶臋 jak zrobi膰 formularz z nieaktywnym polem input text, kt贸re aktywowa膰 si臋 b臋dzie warunkowo - w tym przyk艂adzie po zaznaczeniu odpowiedniego checkboksa.

Formularz

Tworz膮c formularz nadajemy tagom input text atrybut disabled co czyni je nieaktywnymi. W tagach input checkbox dodajemy atrybut onclick z wywo艂aniem funkcji setEnabled - b臋dzie to funkcja ustawiaj膮ca dane pole tekstowe jako aktywne.

<form action="" method="post">
    <p><input type="checkbox" name="checkbox1" id="checkbox1" onclick="setEnabled(event);" /> marka</p>
    <p><input type="checkbox" name="checkbox2" id="checkbox2" onclick="setEnabled(event);" /> kolor</p>
    <p><input type="checkbox" name="checkbox3" id="checkbox3" onclick="setEnabled(event);" /> rocznik</p>
    <p><input type="text" id="text-checkbox1" name="name" disabled /></p>
    <p><input type="text" id="text-checkbox2" name="name" disabled /></p>
    <p><input type="text" id="text-checkbox3" name="name" disabled /></p>
</form>

JavaScript

Funkcja setEnabled to tylko 5 linii kodu. Do funkcji trzeba przekaza膰 zdarzenie. Nast臋pnie do sta艂ej checkbox przypisujemy EventTarget zdarzenia click, czyli b臋dzie to aktualnie klikni臋ty checkbox. Pozostaje tylko sprawdzi膰 czy klikni臋ty checkbox jest zaznaczony, czyli odczytujemy warto艣膰 w艂a艣ciwo艣ci checked, kt贸ra zwr贸ci true lub false. Adekwatnie do zwr贸conej warto艣ci ustawiana jest w艂a艣ciwo艣膰 disabled dla pola tekstowego (true lub false).

function setEnabled(e) {
  
  const checkbox = e.currentTarget;
  
  if(checkbox.checked == true) document.getElementById('text-' + checkbox.name).disabled = false;
  
  else document.getElementById('text-' + checkbox.name).disabled = true;

}

Komentarze

Popular

[C++] Jak obliczy膰 pole i obw贸d trapezu?

[HTML] Jak wy艣rodkowa膰 tekst?

[PHP|HTML] Od艣wie偶enie strony