Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Opera <DIV> display problem
Rzepa
post
Post #1





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 13.01.2004

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


Hej,
Na stronie mam formularz, a w nim pole:
  1. <div id="emots" style="width=400; display: none; border:0px solid #000000; padding:0px; position:relative;">
  2. /* ... */
  3. </div>

Mam też skrypt, który to pole ukrywa, bądź pokazuje:
  1. function TogDis(obj)
  2. {
  3. if(obj.style.display=='none') obj.style.display=''
  4. else obj.style.display='none'
  5. }

Funkcja podpięta jest pod guzik. W IE wszystko działa pięknie, a w Operze, Netscapie itd. <div> pokazuje się na chwilę, po czym znika. Moja teoria na ten temat jest taka, że po odpaleniu skryptu strona się odświeża i ustawia temu <div>'owi znowu display: none, tak jak było na dzień dobry.
Jak tego uniknąć?
Dzięki,
Rzepa.

P.S. Sprawdziłem - problem na pewno jest z odświeżaniem - cała strona się przeładowuje.

Ten post edytował Rzepa 31.03.2005, 12:14:27
Go to the top of the page
+Quote Post
revyag
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 258
Pomógł: 16
Dołączył: 21.09.2004
Skąd: Kielce

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


Pokaż jak używasz tej funkcji w guziku.


--------------------
-------------

------
Go to the top of the page
+Quote Post
Rzepa
post
Post #3





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 13.01.2004

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


  1. <button BUTTON class=guzik style="position:relative;" onFocus="blur()" title="Wstaw emotikonki" onClick="TogDis(emots);">&nbsp;&nbsp;Emot&nbsp;&nbsp;</button>
Go to the top of the page
+Quote Post
revyag
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 2 258
Pomógł: 16
Dołączył: 21.09.2004
Skąd: Kielce

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


Ok smile.gif.
To najpierw modyfikacja funkcji
Kod
<script type="text/javascript">
function TogDis(obj){
    if(document.getElementById(obj).style.display=="none") document.getElementById(obj).style.display="";
    else document.getElementById(obj).style.display="none";
}
</script>

  1. <button class=guzik style="position:relative;" onFocus="blur()" title="Wstaw emotikonki" onClick="TogDis('emots')">&nbsp;&nbsp;Emot&nbsp;&nbsp;</button>

No i taka uwaga, dublujesz sobie kod, możesz przecież w klasie guzik ustawić position dla buttona, i atrybut style będzie niepotrzebny.
Poza tym w divie masz coś takiego style="width=400" to błąd smile.gif powinno być tak style="width:400px"


--------------------
-------------

------
Go to the top of the page
+Quote Post
Rzepa
post
Post #5





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 13.01.2004

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


Dzięki smile.gif ,
to niestety nie rozwiązało mojego problemu. Zapomniałem dodać, że strona jest generowana przez php. Coś powoduje, że jest odświeżana, czyli cały skrypt .php leci jeszcze raz i ustawia temu div'owi atrybut display tak, jak jest to domyślnie na początku... sadsmiley02.gif

W nagłówku mam takie coś:
  1. <META HTTP-EQUIV="Pragma" CONTENT="no-cache">


Może to jest przyczyną?
Go to the top of the page
+Quote Post
revyag
post
Post #6





Grupa: Przyjaciele php.pl
Postów: 2 258
Pomógł: 16
Dołączył: 21.09.2004
Skąd: Kielce

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


Naciśnięcie buttona nie może spowodować przeładowania strony, jeśli nie ma tego w skrypcie, który przy tej akcji jest wykonywany. Strona sama z siebie się nie odświeży smile.gif. Ten wpis w nagłówku określa, że przeglądarka nie będzie zapamiętywać strony w pamięcie podręcznej, więc to nie to.
Może masz coś dodatkowo wykonywane podczas naciskania buttona ?


--------------------
-------------

------
Go to the top of the page
+Quote Post
Rzepa
post
Post #7





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 13.01.2004

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


Ciekawe - zamieniłem buttona na zwykły <a href=...> i działa bez odświeżania. blink.gif
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 19.08.2025 - 16:19