![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 466 Pomógł: 11 Dołączył: 21.09.2006 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
Mam taki kod JS:
i form :
I gdy wybieram jakąś opcję z selecta, pole input nie przyjmuje atrybutu "disabled". Co skopałem? |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 93 Pomógł: 5 Dołączył: 30.04.2006 Skąd: Gliwice Ostrzeżenie: (0%) ![]() ![]() |
Kod document.forms['compose_form'].reciever.enabled=true; nie powinno być Kod document.forms['compose_form'].reciever.disabled=false; ? EDIT @DOWN: Kod var form_compose=document.getElementById('friends_list'); var selIndex=form_compose.selectedIndex; Czapla, raczej nie, aczkolwiek to tu może siedzieć błąd, ponieważ selIndex nie dostaje wartości pomimo, że form_compose.selectedIndex jest dobrze pobierane. robos85 coś jest nie tak w tych 2 liniach ![]() Ten post edytował UNK 17.09.2008, 10:36:44 |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 466 Pomógł: 11 Dołączył: 21.09.2006 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
nie, chodzi mi głównie o to, że nie działa nic nawet po zmianie
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 130 Pomógł: 3 Dołączył: 10.12.2007 Skąd: Bielsko-Biała Ostrzeżenie: (0%) ![]() ![]() |
a nie powinno być
? -------------------- Life is a game, continue playing and try to be a pr0.
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 466 Pomógł: 11 Dołączył: 21.09.2006 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 595 Pomógł: 282 Dołączył: 24.09.2007 Skąd: Reda, Pomorskie. Ostrzeżenie: (0%) ![]() ![]() |
nie ma osobno właściwości enabled i disabled - jest tylko disabled
-------------------- - Oh no, my young coder. You will find that it is you who are mistaken, about a great many things... - |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 466 Pomógł: 11 Dołączył: 21.09.2006 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
Kod window.onload=Loadform; function Loadform(){ document.forms['compose_form'].reciever.disabled=true; } function check_reciever(){ var form_compose=document.getElementById('friends_list'); var selIndex=form_compose.selectedIndex; if form_compose.options[selIndex].value!=0{ document.forms['compose_form'].reciever.disabled=true; } else{ document.forms['compose_form'].reciever.disabled=false; } } Zadeklarowałem na początku dla pola reciever żeby było od razu disabled, lecz nawet to nie działa:/ |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 93 Pomógł: 5 Dołączył: 30.04.2006 Skąd: Gliwice Ostrzeżenie: (0%) ![]() ![]() |
Napisałem wyżej w moim poście, ale chyba już nikt tego nie zauważy
![]() var selIndex=form_compose.selectedIndex; selIndex nie dostaje wartości jest undefined przez co reszta skryptu się nie wykonuje. Po małej zamianie i wstawieniu tego bezpośrednio do ifa form_compose.options[form_compose.selectedIndex].value!=0 wywala: 'form_compose.options is undefined' Coś nie tak jest z tymi kilkoma liniami ![]() |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 890 Pomógł: 65 Dołączył: 13.11.2005 Skąd: Olsztyn Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 466 Pomógł: 11 Dołączył: 21.09.2006 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
@nevt napisał dość wyraźnie, ale powtórzę: Widzisz różnicę? ![]() tak dlatego pozmieniałem na disabled=true lub disabled=false Ten post edytował robos85 17.09.2008, 10:50:05 |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 890 Pomógł: 65 Dołączył: 13.11.2005 Skąd: Olsztyn Ostrzeżenie: (0%) ![]() ![]() |
Bo masz dwa pola o nazwie 'receiver'... |
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 466 Pomógł: 11 Dołączył: 21.09.2006 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
EDIT:
zmianiam cały js kod na: Kod window.onload=Loadformcompose; i to nie działa, ale jak dam:function Loadformcompose(){ document.forms['compose_form'].reciever.disabled=true; } Kod window.onload=Loadformcompose; to działa.function Loadformcompose(){ var f_reciever=document.getElementById('reciever'); f_reciever.disabled=true; } Dlaczego jak odwołuję się do pól formularza poprzez name to nie działa, a jak getElementById robię to działa?:/ |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 890 Pomógł: 65 Dołączył: 13.11.2005 Skąd: Olsztyn Ostrzeżenie: (0%) ![]() ![]() |
Wyżej w moim poście masz odpowiedź
![]() |
|
|
![]()
Post
#14
|
|
![]() Grupa: Zarejestrowani Postów: 466 Pomógł: 11 Dołączył: 21.09.2006 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
Śmiga
![]() Tylko czemu nie mogę się odnościć poprze .reciever a muszę poprzez ['reciever'] ![]() Ten post edytował robos85 17.09.2008, 11:11:39 |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 890 Pomógł: 65 Dołączył: 13.11.2005 Skąd: Olsztyn Ostrzeżenie: (0%) ![]() ![]() |
Jeśli masz tylko jedno pole o nazwie 'receiver' to możesz (...).receiver.(...), jeśli więcej, to już jest tablica i tylko tak jak napisałem
![]() |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 1 085 Pomógł: 231 Dołączył: 12.05.2008 Ostrzeżenie: (0%) ![]() ![]() |
Jednak moim zdaniem lepiej jest skorzystać z setAttribute i removeAttribute zamiast disabled="". To tak na marginesie.
|
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 890 Pomógł: 65 Dołączył: 13.11.2005 Skąd: Olsztyn Ostrzeżenie: (0%) ![]() ![]() |
@Shili: Uzasadnij proszę. Z chęcią dowiem się czegoś nowego (nie, tu nie ma złośliwości, poważnie pytam
![]() @down: Aaaa, myślałem, że to co naskrobałem nie działa w jakiś przypadkach ![]() ![]() Ten post edytował drPayton 17.09.2008, 11:47:28 |
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 1 085 Pomógł: 231 Dołączył: 12.05.2008 Ostrzeżenie: (0%) ![]() ![]() |
Bardziej eleganckie. I profesjonalne. Skoro atrybut nie jest potrzebny nie ma sensu zostawiać pustej wartości, skoro bez żadnego problemu można ten atrybut usunąć, a później go przywrócić w razie potrzeby. W kodzie nie zostają żadne śmieci.
Oczywiście - ustawianie atrybutu jako pusty nie jest niepoprawnością ze względu na strukturę dokumentu. W tym momencie funkcja check_reciever() wyglądałaby jakoś tak: Kod function check_reciever(){
var form_compose=document.getElementById('friends_list'); var selIndex=form_compose.selectedIndex; if (selIndex != 0) { document.forms['compose_form']['reciever'][0].setAttribute('disabled', 'disabled'); } else { document.forms['compose_form']['reciever'][0].removeAttribute('disabled'); } } Ten post edytował Shili 17.09.2008, 11:42:06 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 18.07.2025 - 01:39 |