Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> wywołanie funkcji js dla dokumentu w ramce
ktuvok
post
Post #1





Grupa: Zarejestrowani
Postów: 243
Pomógł: 0
Dołączył: 30.11.2003

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


Mam coś takiego:
  1. <IFRAME NAME=Tabela FRAMEBORDER=0 ALIGN=center src="skrypt.php">Twoja przeglądarka nie akceptuje ramek!

Wramach "skrypt.php" generowany jest formularz o określonej nazwie z
zestawem pól, np:
  1. <FORM NAME=Formularzyk onSubmit="return MojaFunkcja()">
  2. <INPUT TYPE=TEXT NAME=Pole>
  3. </FORM>

Z poziomu głównego okna submituję formularz z ramki:
Kod
window.frames['Tabela'].document.forms[Formularzyk].submit();

Dlaczego w takim wypadku nie jest wywoływana MojaFunkcja(), przypisana do
onSubmit formularza? Jak ją wywołać z "nadrzędnego" okienka?

--
Pozdrawiam,
K
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%)
-----


Spróbuj tak:
Kod
window.parent.frames['Tabela'].document.forms[Formularzyk].submit();


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

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





Grupa: Zarejestrowani
Postów: 243
Pomógł: 0
Dołączył: 30.11.2003

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


Nie o to mi chodziło... Formularz wewnętrzny submituje się poprawnie. Jednakże nie wykonuje się przy jego submicie funkcja MojaFunkcja(). Gdybym submitował ten formularz zwyczajnym przyciskiem umieszczonym na nim, to wszystko by działało... Skąd różnica?

Pozdrawiam,
K
Go to the top of the page
+Quote Post
talee
post
Post #4





Grupa: Zarejestrowani
Postów: 105
Pomógł: 0
Dołączył: 7.09.2002
Skąd: Bydgoszcz

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


Zrób tak:
Kod
function submit(name) {
   if (MojaFunkcja()) {
      name.submit()
      return true
   }
   else {
         return true
   }
}

i wołasz
Kod
submit(window.frames['Tabela'].document.forms[Formularzyk])

winno działać...

Może trzeba będzie inaczej przekazać obiekt do funkcji submit(),
np. przez napis + eval() tutaj będziesz musiał inaczej adresować
obiekt. Prawdopodobnie tak dla ie (choć głowy nie dam): window.frames.Tabela.document.forms.Formularzyk
pewnie inaczej dla firefoxa i opery.


--------------------
Inni dążą do doskonałości, ja nie muszę ;)
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 - 22:07