![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 60 Pomógł: 0 Dołączył: 20.10.2002 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
Mam taki kod java script:
function wyslij(form) { var dat = document.forma; if (!kontrola(form)) return false link=elementyForm('wyslij_piwo.php', form); window1=window.open(link,'target','toolbar=no,scrollbars=no,directories=no,status=no,menubar=no,resizable=no,wi th=500,height=500'); clear_message(); wstawcookie(1); window1.focus(); return false } Jest on potrzebny do wysłania zmiennych z formy do pliku wyslij_piwo.php po uprzednim sprawdzenieu poprawności wypęłnienia pól kontrola(form). Po pierwsze to on nie chce działąć, po drugie to chciałbym żeby scrypt nie otwierał nowego okienka, tylko żeby w tym samym oknie otworzył strone wyslij_piwo.php -------------------- Respect Yourself!
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 195 Pomógł: 0 Dołączył: 7.07.2003 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
1) nie dziala poniewaz uzywasz jakis potworkow zamiast standardow.
a) referencje do formularza uzyskujesz przez document.forms['nazwa']. ![]() Nie wiem co to za funkcja "kontrola" i czy ona istnieje u Ciebie. Nie wiem co to za funkcja elementyForm i czy ona istnieje u Ciebie Nie wiem co to za funkcja wstawcookie i czy ona istnieje u Ciebie 2) Zeby nie otwierac nowego okna zamiasy window.open('adres') daj document.location.href="adres"; -------------------- "(...)Zrozumienie wymagaloby od Ciebie odrobiny pokory. A dzis, w dobie
obalania autorytetu i udowadniania, ze doswiadczenie jest niepotrzebnym balastem, to jest niemodne.(...)" |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 24 Pomógł: 0 Dołączył: 17.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Mam na stronie taki kod javasript:
Na tej nowej stronie mam formularz do dodawania komentarzy w systemie newsów. Muszę tam przesłać zmienną o wartości zawierającej numer komentowanego newsa. Jak to zrobić? Ten post edytował jareks 30.09.2004, 16:10:31 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 258 Pomógł: 16 Dołączył: 21.09.2004 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
Jeśli dobrze zrumiałem chcesz sie odwołać do zmiennej, która znajduje sie w oknie tworzącym okno z którego sie odwołujesz ?
![]() No to robisz to tak: Kod opener.nazwa_zmiennej
-------------------- -------------
------ |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 24 Pomógł: 0 Dołączył: 17.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Opszę to dokładnie, bo moja znajomość javasriptu jest niewielka i nie wiem czy dobrze rozumiem.
Na stronie wyświetlającej newsa mam tak w ramach <head></head> mam teraz tak: Kod <script> <!-- function displayWindow(url, width, height) { var Win = window.open(url,"displayWindow",'width=' + width + ',height=' + height + ',resizable=0,scrollbars=no,menubar=no' ); var zmienna = <? print($news); ?>; } //--> </SCRIPT> Czy to jest kompletne? W ramach <body></body>: Kod <A HREF=javascript:displayWindow('news/komentarze/dodaj.php',470,370)>Dodaj komentarz</A> Czy tyle wystarczy? zmienna - pobiera z bazy danych informację o numerze komentowanego newsa i ta właśnie informację chcę przesłać do okna (za pomocą javasriptu), w którym mam formularz do dowania komentarza. Na stronie z formularzem dodającym komentarz (okno tworzone u mnie przez javascript): Tu podaje niezbędne informacje z formularza do komentowania (autor, e-mail, treść i numer komentowanego newsa), które dalej zapisuje do bazy danych. Kod if (isset($wstaw)) { $autor = mysql_real_escape_string(HTMLSpecialChars($_POST['autor'])); $email = mysql_real_escape_string(HTMLSpecialChars($_POST['email'])); $tresc = mysql_real_escape_string(HTMLSpecialChars($_POST['tresc'])); $newsid = //[b]Co mam tu wpisać?[/b] //Tu dodaje komentarz do bazy } Dane przekazywane z formularza to żaden problem, bo wszystko dzieję się w obrębie tego samego pliku. Jednak numer newsa muszę przekazać tu za pomocą javasriptu ze strony newsa (kliknięcie w link Dodaj komentarz). |
|
|
![]()
Post
#6
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 258 Pomógł: 16 Dołączył: 21.09.2004 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
Jeżeli zadeklarujesz zmienną w javascript jako globalną to nie musisz jej przekazywać, bo masz do niej dostęp z okien, które tworzysz z poziomu okna macierzystego w którym masz tą zmienną zadeklarowaną.
Mieszasz javascript i php. Nie wiem czy zadziała to wszystko co sobie wymyślileś, bo trzeba będzie wyskakiwać z php, walnąć skrypt i znowu wrócić. Nie robiłem czegoś takiego. Ale jeśli to działa to stronie z formularzem musisz napisać po zmienną $newsid przypisać Kod opener.zmienna Być może to zadziałą, ale jeśli to są głupoty to sory: Kod <?
if (isset($wstaw)) { $autor = mysql_real_escape_string(HTMLSpecialChars($_POST['autor'])); $email = mysql_real_escape_string(HTMLSpecialChars($_POST['email'])); $tresc = mysql_real_escape_string(HTMLSpecialChars($_POST['tresc'])); $newsid = ?><script>opener.zmienna</script><? //Tu dodaje komentarz do bazy } ?> -------------------- -------------
------ |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 24 Pomógł: 0 Dołączył: 17.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 258 Pomógł: 16 Dołączył: 21.09.2004 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
Chyba nie da się tego zapisać poprawnie, ponieważ javascript działa po stronie klienta, jest interpretowany przez przeglądarkę użytkownika, a php po stronie serwera, więc takie przekazywanie zmiennych ma małe szanse powodzenia. Najlepiej będzie jak zrobisz to tylko przy użyciu php.
-------------------- -------------
------ |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 24 Pomógł: 0 Dołączył: 17.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Ok. Mimo wszystko serdeczne dzięki za chęci.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 15:31 |