Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: wywołanie funkcji js dla dokumentu w ramce
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
ktuvok
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
revyag
Spróbuj tak:
Kod
window.parent.frames['Tabela'].document.forms[Formularzyk].submit();
ktuvok
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
talee
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.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.