Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Problem z document.location
itsover
post
Post #1





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 1.02.2003

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


Mam problem z takim oto skrypcikiem:
function archive(archyear,archmonth,archday) {
document.location='index.php?section=blog&mod=show&archive=on&archyear='+archyear+'&archmonth='+archmonth+'&archday='+archday;
}
Skrypt jest wywoływany przez:
<td width="25" height="20" class="tabela_link" onClick="java script:archive('2004','12','08')";>8</td>
Niestety wywołuje to błąd. Na czym on polega??
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%)
-----


A powiedz jaki błąd ? Bo u mnie wygląda to ok.
Go to the top of the page
+Quote Post
itsover
post
Post #3





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 1.02.2003

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


No to sprawa jest dziwna. Okno poprostu się nie otwiera.
U mnie.(IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
scanner
post
Post #4





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




Od godziny próbuje zmusić IE do przeładowania się na podany adres.
Na chwile obecna utknąłem na mniejwięcej takim kawałku:
Kod
<script language="javascript" type="text/javascript">
function messageDo( a, i )
{
    switch( a )
    {
  case 'Delete':
     mess = 'Czy na pewno usunąć wiadomość? Tej operacji nie można cofnąć.';
  break;
  case 'Accept':
     mess = 'Czy na pewno odrzucić zgłoszenie do moderacji?';
  break;
    }

    if( window.confirm( mess ) )
    {
  location.href = 'index.php/message/' + a + '/' + i;
    }
}
</script>

I nie mam już pojęcia co jest nie tak.

Ogólnie chodzio to, aby bieżace okno przeładowało się na podany URL pod każdą przeglądarką...
Co robię źle?
Go to the top of the page
+Quote Post
bregovic
post
Post #5





Grupa: Zarejestrowani
Postów: 562
Pomógł: 15
Dołączył: 8.08.2003
Skąd: Denmark/Odense

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


  1. <script language="javascript" type="text/javascript">
  2. function messageDo( a, i )
  3. {
  4. switch( a )
  5. {
  6. case 'Delete':
  7. mess = 'Czy na pewno usunżż wiadomożż? Tej operacji nie można cofnżż.';
  8. break;
  9. case 'Accept':
  10. mess = 'Czy na pewno odrzuciż zgżoszenie do moderacji?';
  11. break;
  12. }
  13.  
  14. if( window.confirm( mess ) )
  15. {
  16. x = 'http://bla/index.php/message/' + a + '/' + i;
  17. location.replace(x);
  18. }
  19. }

Konkludując powyższe, użyj całego adresu...
Go to the top of the page
+Quote Post
scanner
post
Post #6





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




No niestety wciąż pod IE coś to nie za bardzo chce banglać.
Operowanie na oknach w JS nigdy mi nie wychodziło, haha (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Dokładny kod wygląda tak
Kod
<script language="javascript" type="text/javascript">
function messageDo( a, i )
{
    switch( a )
    {
  case 'Delete':
     mess = 'Czy na pewno usunąć wiadomość? Tej operacji nie można cofnąć.';
  break;
  case 'Accept':
     mess = 'Czy na pewno odrzucić zgłoszenie do moderacji?';
  break;
    }

    if( window.confirm( mess ) )
    {
  l = 'http://localhost/shoutbook/index.php/adminMessage' + a + '/' + i;
  location.replace( l );
    }
}
</script>
Go to the top of the page
+Quote Post
orson
post
Post #7





Grupa: Zarejestrowani
Postów: 548
Pomógł: 2
Dołączył: 19.07.2003

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


witam ...

a zamien na window.location ... u mnie dziala z adresem relatywnym ... aha i dodaj kropke i / przed linkiem np:

Kod
if( window.confirm( mess ) ) {
    window.location. = './index.php/message/' + a + '/' + i;
}


u mnie podobna konstrukcja dziala ...

pozdrawiam
Go to the top of the page
+Quote Post
bregovic
post
Post #8





Grupa: Zarejestrowani
Postów: 562
Pomógł: 15
Dołączył: 8.08.2003
Skąd: Denmark/Odense

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


Jakiej wersji M$IE używasz? Na mojej WINE'owatej 6.0 to działa... Jak wywołujesz tą funkcję?
Jak zrobisz tak:
  1. <a href="#" onclick="location.replace('http://www.yahoo.com');">clic</a>

To reaguje?
EDIT:
orson U mnie to co podałeś nie działa ani na firefoxie ani na ie...

Ten post edytował bregovic 16.12.2004, 11:55:58
Go to the top of the page
+Quote Post
scanner
post
Post #9





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




Używam IE6 SP1 ze wszystkimi WindowsUpdateami.

Swoją drogą, zrobię to inaczej - skoro w innym miejscu skryptu działa mi otweranie / zamykanie popupa to go wykorzystam także do wywołania akcj z messageDo() - otworzy się i sam zamknie.
Go to the top of the page
+Quote Post
pjozwiak1
post
Post #10





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 7.01.2007
Skąd: Wrocław

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


Witam,
Ostatnio także miałem podobny problem,

Taki kod:
  1. function ConfirmDelete(pytanie,url){
  2. if(confirm(pytanie))
  3. window.location.href = url;
  4. }
  5.  
  6. <A href="javascript:void(0);">
  7. <IMG src="waste.gif" OnClick="ConfirmDelete('Czy chcesz usunąć?','?delete=cos');">
  8. </A>


działał bez problemu pod Firefoxem, natomiast w IE pytał się czy usunąć coś tam, ale nie przeładowywał strony

okazuje się, że na stronie microsoftu wielcy mądrzy panowie od jedynego słusznego oprogramowania napisali:
Internet explorer w wersji powyżej 4.0 czeka na zakończenie wszystkich events z tagu <A> zanim przejdzie do przetwarzania href z tego tagu.
Dlatego window.location.href jest nadpisywane przez element href z tagu <A>

Więcej na temat tego problemu na stronie: http://support.microsoft.com/kb/190244

Rozwiązaniem jest usunięcie tagu <A>, oraz ustawieniem CSS'ami nad obrazkiem/tekstem kursora rączki.

U mnie działa jeśli kod jest napisany w taki sposób:
  1. function ConfirmDelete(pytanie,url){
  2. if(confirm(pytanie))
  3. window.location.href = url;
  4. }
  5.  
  6. <IMG src="waste.gif" OnClick="ConfirmDelete('Czy chcesz usunąć?','?delete=cos');" style="cursor:hand;">
Go to the top of the page
+Quote Post

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: 24.08.2025 - 07:23