Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: pole input po naciśnieci checkboxa
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
djsalat
Chciałbym zrobić tak:

mam dwa pola input text

ale jedno jest dostępne a drugie zablokowane.

i teraz jak nacisnę checkboxa to chciałbym aby pierwsze pole zablokowało a drugie odblokowało:)

nie mogę znaleź na googlach jak to zrobić;/

domniemam jquery bedzie potrzebne??smile.gif
konole
Javascript to nie tylko jquery.
wookieb
potrzebne informacje

javascript onclick
javascript getElementById
javascript disabled input
FlooX
pierwszemu text inputowi dajesz np id="input1" a drugiemu id="input2"

i checkboxowi dajesz akcje onclick="document.getElementById('input1').disabled = true; document.getElementById('input2').disabled = false;"


@konole
javascript to nie tylko jquery, ale z jquery o wiele mniej pisania, szybciej i efektywniej smile.gif
konole
Cytat(FlooX @ 15.06.2010, 13:37:52 ) *
@konole
javascript to nie tylko jquery, ale z jquery o wiele mniej pisania, szybciej i efektywniej smile.gif

no ba. dobra, koniec off-topu. ;P
djsalat
Cytat(FlooX @ 15.06.2010, 14:37:52 ) *
pierwszemu text inputowi dajesz np id="input1" a drugiemu id="input2"

i checkboxowi dajesz akcje onclick="document.getElementById('input1').disabled = true; document.getElementById('input2').disabled = false;"


@konole
javascript to nie tylko jquery, ale z jquery o wiele mniej pisania, szybciej i efektywniej smile.gif



No cos nie bardzo działa;/

  1. <input type="checkbox" name="nazwa" value="wartość" onclick="document.getElementById('input1').disabled = true; document.getElementById('input2').disabled = false;" />
  2.  
  3. <input type="text" id="input1"/>
  4.  
  5. <input type="text" value="aaa" id="input2" />
Van Pytel
Kod
<script type="text/javascript">
function endisable( ) {
  if (document.forms['pierwsze'].elements['a1'].checked == true) {
    document.forms['pierwsze'].elements['a2'].disabled = true;
  }
    if (document.forms['pierwsze'].elements['a2'].checked == true) {
    document.forms['pierwsze'].elements['a1'].disabled = true;
  }

}
</script>

  <form action="jakisplik.php" id="pierwsze" method="post" >
<input type="radio" name="p1"  id="a1" value="cos1" onchange='endisable()'/>cos1
<input type="radio" name="p1"  id="a2" value="cos2" onchange='endisable()'/>cos2

djsalat
fajne ale jak raz sie zaznaczy to nie da rady później odznaczyć;/
Van Pytel
To jak Ty chcesz?

Jesli masz "radio" nie dasz rady zaznaczyć dwóch na raz.
Tutaj podalem przyklad, jesli ktoś wybierze A to juz nie moze zmienić - bo myslalem ze tak chcesz.
Jesli chcesz tak, ze moze zmieniac to bez blokowania.
Chyba ze masz 3 inputy to wtedy dodajesz kolejny warunek w JS.

Jesli masz text to tak samo robisz warunki. Gdzie C (text) domyslnie musi byc off
djsalat
  1. <script type="text/javascript">
  2. function endisable( ) {
  3. if (document.forms['formularz'].elements['checkbox'].checked == true) {
  4. document.forms['formularz'].elements['A'].disabled = true;
  5. document.forms['formularz'].elements['A'].className = 'classa_zablokowanego_pola';
  6. document.forms['formularz'].elements['B'].disabled = false;
  7. document.forms['formularz'].elements['B'].className = 'classa_odblokowanego_pola';
  8. document.forms['formularz'].elements['A'].value = '';
  9. }
  10. else {
  11. document.forms['formularz'].elements['A'].disabled = false;
  12. document.forms['formularz'].elements['A'].className = 'classa_odblokowanego_pola';
  13. document.forms['formularz'].elements['B'].disabled = true;
  14. document.forms['formularz'].elements['B'].className = 'classa_zablokowanego pola';
  15. document.forms['formularz'].elements['B'].value = ''; }
  16.  
  17. }


  1. <form class="form" action="strona.php" id="formularz" method="post" >
  2.  
  3. <input type="checkbox" name="checkbox" id="checkbox" value="true" onchange='endisable()'/>
  4. <input type="text" name="A" id="A" class="classa_odblokowanego_pola" />
  5. <input type="text" name="B" id="B" disabled="disabled" class="classa_odblokowanego_pola" />
  6.  
  7.  
  8.  
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.