Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [html/js] Select, value, disabled
Pride
post
Post #1





Grupa: Zarejestrowani
Postów: 139
Pomógł: 11
Dołączył: 31.01.2005
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


Witam.
Szukam sposobu jak przy wybraniu czegos w [select] <input> byl disabled='disabled'
Przykładowo:
  1. <select name='taklubnie'>
  2. <option value='yes'>yes</option>
  3. <option value='no'>no</option>

Jeżeli wybiore z tego np. YES to:
  1. <input type='text' size='30' name='nazwa' disabled='disabled' />

jeżeli NO to:
  1. <input type='text' size='30' name='nazwa' />


Wiem, ze cos takiego na 99% istnieje bo gdzies juz to stosowalem (tak mi sie przynajmniej wydaje). Jednak nie moge tego znaleźc na dysku ani w internecie (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
Z gory THX za pomoc.
Go to the top of the page
+Quote Post
ARJ
post
Post #2





Grupa: Zarejestrowani
Postów: 453
Pomógł: 22
Dołączył: 20.09.2004
Skąd: Kraków - NH -

Ostrzeżenie: (0%)
-----


Kod
function disable(){
document.getElementById("nazwa").setAttribute("disabled","disabled");
}

wywołanie:
  1. <option value='yes' onclick="disable();">yes</option>


funkcję możesz rozbudować o if`a który będzie sprawdzał czy input jest zablokowany czy nie i odpowiednio go blokował lub odblokowywał.
Go to the top of the page
+Quote Post
Istalacar
post
Post #3





Grupa: Zarejestrowani
Postów: 108
Pomógł: 4
Dołączył: 3.03.2007

Ostrzeżenie: (0%)
-----


O ile dobrze pamiętam trzeba użyć albo onClick, albo onFocus i odnieść to do funkcji która aktywuje i zdezaktywuje pole
Go to the top of the page
+Quote Post
Cienki1980
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

Ostrzeżenie: (0%)
-----


A ja w przypadku selecta radziłbym wykorzystać onChange() zamiast onClick ... dlaczego ? A no bo selecta można obsługiwać z klawiatury ( wystarczy nadać focus i używać strzałek ) - a tego onClick już chyba nie wyłapie ...
Go to the top of the page
+Quote Post
Pride
post
Post #5





Grupa: Zarejestrowani
Postów: 139
Pomógł: 11
Dołączył: 31.01.2005
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


No mam już jakieś podpowiedzi to.... google do boju (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) Bo jak juz mowilem (a moze i nie mówiłem...) to JS nie znam kompletnie (IMG:http://forum.php.pl/style_emoticons/default/haha.gif) Nawet tego warunku nie wiem jak napisac (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) ale poszukam ;P Moze cos znajde ^.^

EDIT

No coś napisałem ale niestety nie działa....:
  1. <script type="text/javascript">
  2. function disable(){
  3. if(document.getElementById('nazwa').value==yes)document.getElementById('text1').disabled=false;
  4. else document.getElementById('text1').disabled=true;
  5. }
  6. <select name='nazwa'>
  7. <option>-- wybierz z listy --</option>
  8. <option onchange="disable()" value='yes'>Wymagaj</option>
  9. <option value='no'>Nie wymagaj</option>
  10. <input disabled name="text1" type="text">

Nie wiem już jak to napisac (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) Jakies pomysły? (IMG:http://forum.php.pl/style_emoticons/default/snitch.gif)
Pozdrawiam

Ten post edytował Pride 19.09.2007, 10:26:28
Go to the top of the page
+Quote Post
Istalacar
post
Post #6





Grupa: Zarejestrowani
Postów: 108
Pomógł: 4
Dołączył: 3.03.2007

Ostrzeżenie: (0%)
-----


Zamiast name użyj id:)

<input disabled name="text1" type="text">
Zamień na:
<input disabled id="text1" type="text">

Ten post edytował Istalacar 19.09.2007, 14:06:36
Go to the top of the page
+Quote Post
Pride
post
Post #7





Grupa: Zarejestrowani
Postów: 139
Pomógł: 11
Dołączył: 31.01.2005
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


Cytat(Istalacar @ 19.09.2007, 15:05:51 ) *
Zamiast name użyj id:)

<input disabled name="text1" type="text">
Zamień na:
<input disabled id="text1" type="text">

Też nie działa... >.>
Go to the top of the page
+Quote Post
qqrq
post
Post #8





Grupa: Zarejestrowani
Postów: 418
Pomógł: 8
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


OnChange powinno być w select'ie, nie w option:

  1. <select name='nazwa' onchange="disable()">
  2. <option>-- wybierz z listy --</option>
  3. <option value='yes'>Wymagaj</option>
  4. <option value='no'>Nie wymagaj</option>
Go to the top of the page
+Quote Post
Pride
post
Post #9





Grupa: Zarejestrowani
Postów: 139
Pomógł: 11
Dołączył: 31.01.2005
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


Cytat(qqrq @ 19.09.2007, 16:10:44 ) *
OnChange powinno być w select'ie, nie w option:

  1. <select name='nazwa' onchange="disable()">
  2. <option>-- wybierz z listy --</option>
  3. <option value='yes'>Wymagaj</option>
  4. <option value='no'>Nie wymagaj</option>

także nie pomogło.
Nie mam już pomysłów na to... Jest ktoś tutaj kto umiał by mi to jakoś poprawnie napisać? Bo sam nie dam chyba rady.
Go to the top of the page
+Quote Post
qqrq
post
Post #10





Grupa: Zarejestrowani
Postów: 418
Pomógł: 8
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


A no tak, jeszcze jedno:

  1. <script type="text/javascript">
  2. function disable(){
  3. if(document.getElementById('nazwa').options[document.getElementById('nazwa').selectedIndex] =='yes')document.getElementById('text1').disabled=false;
  4. else document.getElementById('text1').disabled=true;
  5. }
Go to the top of the page
+Quote Post
Istalacar
post
Post #11





Grupa: Zarejestrowani
Postów: 108
Pomógł: 4
Dołączył: 3.03.2007

Ostrzeżenie: (0%)
-----


I jeszcze raz, nie zwróciłem uwagi, w select też trzeba "name" na "id" zmienić.
Go to the top of the page
+Quote Post
Pride
post
Post #12





Grupa: Zarejestrowani
Postów: 139
Pomógł: 11
Dołączył: 31.01.2005
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


Z tego co zrozumiałem, ma to wyglądac tak:
  1. <head>
  2. <script type="text/javascript">
  3. function disable(){
  4. if(document.getElementById('nazwa').options[document.getElementById('nazwa').selectedIndex] =='yes')document.getElementById('text1').disabled=false;
  5. else document.getElementById('text1').disabled=true;
  6. }
  7. </script>
  8. </head>
  9. <body>
  10. <select id='nazwa' onchange="disable()">
  11. <option>-- wybierz z listy --</option>
  12. <option value='yes'>Wymagaj</option>
  13. <option value='no'>Nie wymagaj</option>
  14. </select>
  15. <input disabled id="text1" type="text">
  16. </body>
  17. </html>

Jednak jak zawsze... nie działa (IMG:http://forum.php.pl/style_emoticons/default/sadsmiley02.gif) (IMG:http://forum.php.pl/style_emoticons/default/sciana.gif)
Go to the top of the page
+Quote Post
Istalacar
post
Post #13





Grupa: Zarejestrowani
Postów: 108
Pomógł: 4
Dołączył: 3.03.2007

Ostrzeżenie: (0%)
-----


  1. <head>
  2. <script type="text/javascript">
  3. function disable(){
  4. if(document.getElementById('nazwa').options[document.getElementById('nazwa').selectedIndex].value =='yes')document.getElementById('text1').disabled=false;
  5. else document.getElementById('text1').disabled=true;
  6. }
  7. </script>
  8. </head>
  9. <body>
  10. <select id='nazwa' onchange="disable()">
  11. <option>-- wybierz z listy --</option>
  12. <option value='yes'>Wymagaj</option>
  13. <option value='no'>Nie wymagaj</option>
  14. </select>
  15. <input disabled id="text1" type="text">
  16. </body>
  17. </html>


Być może to value będzie tu kluczowe:)

Edit:
właśnie sprawdziłem ten skrypt i działa:)
W ramach sugestii możesz jeszcze podczas blokowania wyczyścić to pole co będzie w else wyglądało tak:
  1. else
  2. {
  3. document.getElementById('text1').value='';
  4. document.getElementById('text1').disabled=true;
  5. }


Ten post edytował Istalacar 19.09.2007, 19:31:13
Go to the top of the page
+Quote Post
Pride
post
Post #14





Grupa: Zarejestrowani
Postów: 139
Pomógł: 11
Dołączył: 31.01.2005
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


  1. function disable(){
  2. document.getElementById('text1').disabled=document.getElementById('nazwa').value!='yes'
  3. }

i jest good ^.^
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 15.09.2025 - 23:38