Avatar billede zombien Juniormester
07. marts 2017 - 19:04 Der er 7 kommentarer

Hente input values fra en iFrame

Hej Eksperter...

Jeg sidder og skal forsøge at få fingre i 2 inputs brugeren indtaster i et iframe, dette kan jeg ikke helt blive klog på om kan lade sig gøre, der findes forskellige forslag på nettet, men syntes ikke helt at jeg har haft held til dette...

Jeg har et iframe som har id myIframe, og her er 2 input felter, jeg skal have fat i, så jeg kan gemme disse oplysninger i en separat database til opfølgning, da jeg ikke har adgang til den database de registrere sig i...

det er input felter med navn username og email og har typerne username og text, de har altså ingen id'er

men syntes ikke at jeg kan få fat i value for de 2 felter, så er der nogle herinde der har forslag til hvad man kan gøre? eller ved om det overhovedet kan lade sig gøre?
Avatar billede keysersoze Guru
07. marts 2017 - 21:31 #1
Hvorfor en iframe - er det forskellige domains eller?
07. marts 2017 - 23:37 #2
HEJ,

Jeg følger med på sidelinien. Havde samme problem for 3 år siden, men fandt ingen god løsning. Så jeg redesignede opgaven (redefinerede problemet) og dermed undgik jeg Iframe-problematikken.

til #2:

Min tanke var dengang , at jeg med simple DOM metoder skulle kunne ændre visning af enkle video-er. (visning af video 1  ved klik 1, video2 ved klik 2 ... etc) og have lidt feed-back på dette.

KRistian
Avatar billede zombien Juniormester
08. marts 2017 - 07:43 #3
Keysersoze > Ja det er fra et cross-domain, desværre tillader de ikke man selv hoster registeringens formularen og sender oplysningerne til dem via et json/api, eller også har de bare ikke udviklet dette endnu :)

Men ja det har gjort det lidt vanskeligt at følge op på registrerede kunder der evt. sidder fast i processen, eller lige mangler den sidste hjælp til at træffe et valg om hvilken pakke de skal vælge. for man spørger heller ikke en kunde om at indtaste deres oplysninger 2 gange...

der ryger en stor del af brugervenligheden, selv om det nok ender med at blive sådan en molbo løsning, hvis der ikke findes en løsning på dette problem

da der p.t. ikke er adgang til deres kontaktoplysninger, gud bevare danmark for gamle IT systemer/løsninger.

Snestrup2000 > hvem bare der havde muligheden for at vælge en anden vej, desværre er jeg her låst fast i de muligheder producenten tilbyder og det er så old school som et iframe...
Avatar billede acore Ekspert
08. marts 2017 - 09:04 #4
Jeg tror ikke, at du via javascript kan få adgang til data i en iframe fra et andet domæne. Det er af sikkerhedsmæssige grunde.

Men du kan lave din egen form, og så sende data til deres formular med curl eller lignende. Så har du mulighed for at gemme data.
Avatar billede zombien Juniormester
08. marts 2017 - 11:29 #5
Så du siger at jeg kan udfylde formfelterne via cUrl ud fra informationer de har skrevet i en formular på mit domæne?

Det lyder spændende, har du et eksempel på hvordan du ville sende sådan et input videre til et iframe igennem cUrl?
Avatar billede acore Ekspert
08. marts 2017 - 12:02 #6
Jeg ville lave en almindelig form med de data, der skal sendes videre. Laves i html og PHP.

Med PHP og curl kan du så sende værdierne til den eksterne side. Ingen iframe og ingen html - gøres i PHP. Man kan sige, at curl emulerer browseren. Du skal selvfølgelig sende de input-værdier, du har hentet i din form og gemt i din egen database.

Se for eksempel http://www.html-form-guide.com/php-form/php-form-submit.html, hvor der er et eksempel.
Avatar billede keysersoze Guru
08. marts 2017 - 12:17 #7
Korrekt - medmindre du kan få kode ind i iframen så er det ikke muligt at kommunikere cross-domain på den måde du ønsker. Så skal du ud i en løsning a la foreslået i #4 - du skal bare være opmærksom på, udover hvad der kan være tilladt, at hvis den anden part ændrer fx kode eller domain så skal du lynhurtigt kunne følge med.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester