Toon posts:

Flash mailform variabelen in html mailform laden

Pagina: 1
Acties:
  • 141 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Ik heb een mailform in flash gemaakt, over het HTTP referer probleem ben ik al heen met deze oplossing
RM-rf schreef op 28 augustus 2001 @ 00:41:
hmm je pagina werkt bij mij (mac/msie5) niet.

maar wat je wilt doen is waarschijnlijk wat lastiger dordat je tevens een form met variabelen wilt submitten.

twee mogelijkheden:
A) je simuleert een GET-request
(pagina.cgi?naam=variabele&foo=bar)
je moet dan in flash eerst de complete request-string-samenstellen, de input urlEncoden en aanelkaar plakken.

vervolgens zet je in de head een functie als:
code:
1
2
3
4
function getPagina(url)
{
   self.window.location.href = url 
}

in je flashmovie roep je nu getUrl('javascript:getPagina('pagina.cgi?naam=variabele&foo=bar')') aan, dat voert het javascript uit dat de pagina oproept en doordat het javascript in de browser wordt uitgevoerd plaatst deze er een referer bij.


B) je plaatst een verborgen form in je pagina met alle hidden inputs uit je flash-form, iedere waarde van het flash-form wordt via javascript ook direct in het html-form geplaatst
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<form action="pagina.cgi" method="POST" name="frm">
   <input type="hidden" name="naam">
   <input type="hidden" name="foo">
</form>

(in head)
function setVariabele(value, name)
{
    document.forms['frm'].elements[name] = value
}
function submitFrm()
{
   document.forms['frm'].submit()
}

   (in flash; ieder element in je flash-form krijgt een onchange)
getUrl('javascript(value, name)')
   (en bij het submitten van het form doe je)
getUrl('javascript:submitFrm()')
Alleen het uitwisselen van de variabelen gaat niet!! Volgens mij klopt er iets niet in die code, of weet iemand mischien hoe dit makkelijk kan met javascript, variabelen uitwisselen met flash. Dat de waardes in het flash formulier dus ingevuld worden in het hidden html formulier!

  • McVirusS
  • Registratie: Januari 2000
  • Laatst online: 21-08 10:46
Waarom wil je dit eigenlijk? Misschien is er een betere oplossing dan waar je nu mee bezig bent. overigens lijkt mij dat het niet "getUrl('javascript(value, name)')" maar "getUrl('javascript:setVariabele(value, name)')" moet zijn ;).

Verwijderd

Topicstarter
Er is volgens mij geen andere manier om een formulier te versturen! Want ik heb geen eigen script, ik gebruik die van xs4all

  • McVirusS
  • Registratie: Januari 2000
  • Laatst online: 21-08 10:46
Je kan 'm toch ook gewoon via Flash versturen of zie ik dat verkeerd?

Verwijderd

Topicstarter
Nee kan niet, flash heeft een soort beveiliging. Zodat je geen variabelen kan sturen buiten je domein(waar de flash site staat)

  • McVirusS
  • Registratie: Januari 2000
  • Laatst online: 21-08 10:46
Verwijderd schreef op 11 juni 2003 @ 13:24:
Nee kan niet, flash heeft een soort beveiliging. Zodat je geen variabelen kan sturen buiten je domein(waar de flash site staat)
Sorry je hebt gelijk, was ik even vergeten. Wellicht kan je dit doen:

Flash ActionScript:
1
System.security.allowDomain( "xs4all.nl", "www.xs4all.nl" );


Weet niet of dit werkt, misschien kan een flashguru daar uitsluitsel over geven. Lijkt mij persoonlijk een veel makkelijkere oplossing.

Verwijderd

Topicstarter
Ik zal het even proberen, klinkt goed. Dit heb ik nog nooit eerder gezien. Terwijl veel mensen dit probleem hebben.

  • McVirusS
  • Registratie: Januari 2000
  • Laatst online: 21-08 10:46
Dat stukje code werkt overigens alleen in Flash MX zover ik weet :).
Pagina: 1