Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem z FireFoxem i disabled="true", po odswiezeniu strony
phpion
post
Post #1





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Witam
Mam nastepujacy problem.
Na stronie mam formularz:
  1. <form action="" onsubmit="return false;">
  2. <input type="text" id="mailSubject" style="width: 500px;" /><br />
  3. <textarea id="mailBody" style="width: 500px; height: 200px;"></textarea><br />
  4. <input id="sendButton" type="button" value="Wyslij" onclick="java script:send();" disabled="true" />
  5. </form>

Mam tez funkcje, ktora blokuje oraz obdlokowuje te elementy:
  1. function changeFormState(mode)
  2. {
  3. document.getElementById('mailSubject').disabled = mode;
  4. document.getElementById('mailBody').disabled = mode;
  5. document.getElementById('sendButton').disabled = mode;
  6. }

Na dole dla testow zrobilem 2 przyciski do blokowania i odblokowania:
  1. <input type="button" value="Blokuj" onclick="java script:changeFormState(true);" />
  2. <input type="button" value="Odblokuj" onclick="java script:changeFormState(false);" />

No i wszystko ladnie smiga. Ale! Gdy formularz jest zablokowany i odswieze strone to pole mailSubject (to o type="text") nadal zostaje zablokowane. Textarea oraz button na nowo sa dostepne (i tak powinno byc). Ponadto gdy w inputa oraz textarea wpisze cokolwiek i odswieze strone to te elementy zawieraja wczesniej wpisane znaki.
Jak rozwiazac te problemy, a w szczegolnosci ten pierwszy? Domyslam sie, ze mozna poprzez ustawienia przegladarki (jednak usuniecie pamieci podrecznej nie przynioslo efektu) ale wolalbym nie zmuszac potencjalnego uzytkownika do tego czynu (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Dodam jeszcze, ze problem wystepuje tylko na FireFoxie (Opera oraz Konqueror czyszcza formularz z elementow oraz ustawiaja je jako aktywne).
Jakies pomysly?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
siemakuba
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 112
Pomógł: 20
Dołączył: 10.04.2005

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


Cytat
Dodam ze dodanie atrybutu disabled="false" w inpucie nie przynosi rezultatu
Oczywiście, że nie przynosi :) nie powinno przynosić. Atrybut disabled jest atrybutem typu boolean - jeżeli jest, jego wartość wynosi true a jeżeli go nie ma - false.
Dopiero XHTML wymaga konstrukcji disabled="disabled" -- tylko w takiej formie jest to prawidłowy zapis! W HTML wystarczy napisać <input disabled> (podobnie jest z checked, selected) Nie ma czegoś takiego jak disabled="false" czy diabled="true" - w taki sposób możesz modyfikować te wartości tylko przez JS.

Nie zauważyłem tego wcześniej, a to jest banalne :) Jeżeli nie chcesz mieć elementu formularza zablokowanego nie możesz dać mu atrybutu disabled w żadnej postaci albo wyłączyć ten atrybut via JS po załadowaniu strony.

pozdr.
Go to the top of the page
+Quote Post

Posty w temacie


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: 5.10.2025 - 01:08