Odblokowywanie inputa za pomocą listy select |
Odblokowywanie inputa za pomocą listy select |
1.12.2011, 11:13:12
Post
#1
|
|
Grupa: Zarejestrowani Postów: 40 Pomógł: 0 Dołączył: 4.11.2010 Ostrzeżenie: (0%) |
Witam.
Mam problem, z którym nie mogę sobie poradzić - otóż mam formularz, w którym jest kilka pól, ale skupię się tylko na trzech: lista wyboru oraz dwa text boxy. Czy istnieje możliwość, aby napisać funkcję, która spowoduje to, że gdy na liście select zostanie wybrana opcja o konkretnej nazwie/id, to wówczas odblokowane zostaną te dwa pola tekstowe (zakładając, że przy wczytywaniu strony sprawdzam, czy został wysłany formularz i czy odpowiednie pole na liście zostało zaznaczone - jeśli tak, to wtedy już przy wczytaniu strony text boxy są odblokowane, jeśli nie, to są 'disabled')? Formularz obsługuję PHP'em. Przykład: Gdy wybrana zostanie opcja numer 3 (onClick czy coś w tym stylu), wówczas odblokowują się pola input tekst_1 i tekst_2. Dodatkowo przy wczytywaniu strony sprawdzam, czy formularz został wysłany (to PHPem), jeśli tak, to zaznaczam odpowiednie opcje w formularzu (również PHP), natomiast Java powinna sprawdzić, czy w select jest zaznaczona opcja 3 - jeśli tak, to ma odblokować texty - taka funkcja typu eval. Czy może mi ktoś z tym pomóc? Jakieś pomysły? |
|
|
1.12.2011, 16:01:39
Post
#2
|
|
Grupa: Zarejestrowani Postów: 27 Pomógł: 5 Dołączył: 29.09.2010 Ostrzeżenie: (0%) |
Coś w ten deseń, można zrobić za pomocą jQuery. Polecam dokumentacje wszystko ładnie opisane. Jeśli chodzi o PHP to instrukcje warunkowe gdzie sprawdzasz wartości przesłane z formularza i wywołujesz HTML'a zaznaczającego odpowiednie opcje. |
|
|
4.12.2011, 00:23:31
Post
#3
|
|
Grupa: Zarejestrowani Postów: 94 Pomógł: 1 Dołączył: 28.01.2007 Ostrzeżenie: (0%) |
Witam!
Właśnie poszukuje takiego rozwiązania, ale zaproponowane przez jaworr mi nie działa. -------------------- "Nie dyskutuj z debilem, bo najpierw sprowadzi Cię do swego poziomu a potem pokona doświadczeniem"
http://vlaho.pl http://foto.vlaho.pl |
|
|
4.12.2011, 14:06:41
Post
#4
|
|
Grupa: Zarejestrowani Postów: 2 350 Pomógł: 512 Dołączył: 4.01.2009 Skąd: Wrocław / Świdnica Ostrzeżenie: (0%) |
Umieść kod np. na http://jsfiddle.net/
Można to równie łatwo osiągnąć bez jquery, więc jak nie chcesz używać biblioteki to napisz to dam Ci jakieś rady. Chociaż zasada jest identyczna jak tak pokazana przez ~jaworr -------------------- |
|
|
5.12.2011, 10:55:35
Post
#5
|
|
Grupa: Zarejestrowani Postów: 40 Pomógł: 0 Dołączył: 4.11.2010 Ostrzeżenie: (0%) |
W zasadzie bibliotekę jQuerry i tak mam podpiętą, więc sądzę, iż będzie to najprostsze rozwiązanie. Jeśli o PHP chodzi, to mam już wszystko zrobione, tyle, że sprawdzanie opcji po wysłaniu formularza jest tu dla mnie zbędne - chodzi o zmianę wyglądu formularza dynamicznie, po wybraniu pozycji z listy przez użytkownika, więc raczej PHP na nic się tu zda.
Dzięki za propozycje, postaram się coś wymodzić, choć w JS poruszam się jeszcze po omacku.. Może ktoś ma ewentualnie jakieś gotowe propozycje? //EDIT: http://jsfiddle.net/K9whM/ Najprostsza rzecz nie działa.. jakby funkcja change w ogóle nie śmigała. Ten post edytował jurcio6 5.12.2011, 11:31:22 |
|
|
5.12.2011, 11:18:34
Post
#6
|
|
Grupa: Zarejestrowani Postów: 94 Pomógł: 1 Dołączył: 28.01.2007 Ostrzeżenie: (0%) |
Udało mi się coś takiego wymodzić i działa, oczywiście na jquery. Przepraszam za brzydki kod ale wycinałem to z działającego skryptu, przetestowałem to w takiej formie jak jest wklejone.
Jak wybierze pole inne to input stanie się aktywny, jak zmienisz pole z inne na inną wartość to input będzie nie aktywny.
-------------------- "Nie dyskutuj z debilem, bo najpierw sprowadzi Cię do swego poziomu a potem pokona doświadczeniem"
http://vlaho.pl http://foto.vlaho.pl |
|
|
5.12.2011, 11:53:28
Post
#7
|
|
Grupa: Zarejestrowani Postów: 40 Pomógł: 0 Dołączył: 4.11.2010 Ostrzeżenie: (0%) |
Mnie również się już udało to zrobić
http://jsfiddle.net/K9whM/5/ Brakuje mi jedynie funkcji, która sprawdza na początku, czy została wybrana dana opcja po wysłaniu formularza, ale to już zrobię sobie php'em Dzięki za pomoc. EDIT: Dodałem jeszcze jedną linijkę, która podczas ponownego blokowania pola przez wybranie innej opcji z listy, usuwa wpisaną wartość z inputa: http://jsfiddle.net/K9whM/7/ Ten post edytował jurcio6 5.12.2011, 12:27:50 |
|
|
5.12.2011, 15:04:31
Post
#8
|
|
Grupa: Zarejestrowani Postów: 1 798 Pomógł: 307 Dołączył: 13.05.2009 Skąd: Gubin/Wrocław Ostrzeżenie: (0%) |
A ja bym to ugryzł tak: http://jsfiddle.net/K9whM/9/ lub tylko z blokowaniem inputów: http://jsfiddle.net/K9whM/10/
|
|
|
5.12.2011, 18:19:05
Post
#9
|
|
Grupa: Zarejestrowani Postów: 40 Pomógł: 0 Dołączył: 4.11.2010 Ostrzeżenie: (0%) |
Myślałem już o chowaniu ich - być może jest to faktycznie lepsza metoda, bo czego nie widzi użytkownik, tego nie będzie tykał
|
|
|
9.12.2011, 00:24:59
Post
#10
|
|
Grupa: Zarejestrowani Postów: 1 568 Pomógł: 192 Dołączył: 7.03.2005 Skąd: Warszawa Ostrzeżenie: (0%) |
Czego nie widzi użytkownik widzi użyszkodnik Więc lepiej pomyśl czy twoja metoda przy okazji będzie bezpieczna
-------------------- |
|
|
Wersja Lo-Fi | Aktualny czas: 14.06.2024 - 01:18 |