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
mariuszn3
post
Post #2





Grupa: Zarejestrowani
Postów: 352
Pomógł: 0
Dołączył: 22.01.2006

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


Takie jest zachowanie firefoxa, faktycznie nieco irytujące.. możesz je ominąć na trzy sposoby.. o pierwszym wspomina siema kuba czyli atrybut autocomplete z wartością 'off', jedyny problem w tym przypadku, to że atrybut nie należy do specyfikacji HTML'a.
Drugi sposób, to nadawanie za każdym razem innych wartości dla nazw kontrolek (atrybut 'name').. przykłądowo poprzez doczepianie jakiegoś losowo wygenerowanego ciągu znaków do nazwy.. ale wiadomo jakie są minusy tego rozwiązania.
Trzeci sposób, to resetowanie kontrolek poprzez javascript po załadowaniu strony.
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: 15.10.2025 - 11:34