MozillaPL.org - polskie centrum Mozilli

Główne menu:

[różne] Przekierowanie / otwarcie strony - ciekawy problem?

Jak tworzyć strony WWW zgodnie ze standardami

Moderator: Pomocy?!

[różne] Przekierowanie / otwarcie strony - ciekawy problem?

Postautor: trejder » 25 września 2009, 06:56

Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3 (.NET CLR 3.5.30729)

Witam,

Piszę "plugin", czyli kawałek kodu PHP, który odbiorca będzie mógł załączyć sobie na swojej stronie przy pomocy iframe. Musi to być tak rozwiązane, bo docelowa strona, na której plugin ma się pojawiać może być napisana w dowolnym języku - PHP, XHTML, ASP, ColdFusion, etc. - więc iframe wydaje mi się być jedynym rozwiązaniem.

Jednak problem w tym, że plugin, jak to plugin ma zajmować niewiele miejsca (powiedzmy 400x200 px), aby załączyć go na stronie docelowej. I w momencie uruchomienia będzie w nim formularz do wpisania różnych danych. Lecz wyniki działania tego formularza muszą już koniecznie, bezwzględnie i absolutnie wyświetlać się na nowej, pełnej stronie. Albo otwartej w nowej zakładce (raczej nie nowym oknie, aby pop-up blockery nie zablokowały) albo na przykład przez nadpisanie adresu strony w której plugin był otwarty i wyświetlenie w tym samym oknie / zakładce, ale w pełnych wymiarach. W przeciwnym przypadku, rozpierniczy zupełnie stronę na której plugin jest zawarty, bo wynikami działania formularza będzie wielka tabela pełna danych.

I prawdę mówiąc - utknąłem. Nie mam pojęcia w jakim języku (JavaScript, czy PHP) to zrobić i jak? Może Ajax? Jeśli zrobię redirecta po stronie serwera (w PHP) to i tak cała zawartość zostanie wyświetlona w iframie, czego muszę uniknąć jak ognia. A jeśli miałby to realizować JavaScript na przykład w zdarzeniu OnClick klawisza wysyłającego formularz, to czy ktoś może mi doradzić jak to rozwiązać?

Czy to w ogóle da się rozwiązać?
trejder
 
Posty: 197
Z nami od: 20 stycznia 2005, 15:31
Lokalizacja: Katowice

Postautor: trejder » 25 września 2009, 12:40

Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3 (.NET CLR 3.5.30729)

Heh, sam sobie odpowiadam! :] Problem rozwiązałem, a być może zainteresuje to innych.

U mnie zadziałał kod JavaScript:

Kod: Zaznacz cały
function DoSubmit(addr, target, method)
{
     var theform = document.forms[0];
     theform.action = addr;
     
     if (target != '_blank' && target != '_new')
     theform.target = target;
     else
     theform.target = Math.round(32000 * Math.random());
    
     theform.method = method;
     theform.submit();

     return true;
}

Bezczelnie zerżnięty ze stron mBanku, skrócony i pozbawiony tego, co mi niepotrzebne.

Aby go wywołać zamiast typowego klawisza typu submit dajemy:

Kod: Zaznacz cały
<button onclick="DoSubmit('target.php','_top','GET');return false">Dalej</button><br /><br />

Funkcja jest o tyle "wypasiona", że pozwala otwierać wynik działania formularza po "wyskoczeniu" z iframe'a (jak ja chciałem) albo w nowej zakładce / oknie, a robi to dzięki JavaScript, nie stosując parametru target znacznika form, który jest deprecated. Dzięki temu funkcji można używać również w dokumentach typu Strict.

Oczywiście, to nie zadziała wcale, jeśli użytkownik ma wyłączony JavaScript. Ale to już nie mój problem! :P
trejder
 
Posty: 197
Z nami od: 20 stycznia 2005, 15:31
Lokalizacja: Katowice


Wróć do Tworzenie stron WWW

Kto jest online

Zarejestrowani użytkownicy: Bing [Bot], Google [Bot]

cron
Przejdź do powiązanej strony

Nawigacja:

Stopka: