Avatar billede gadensgaard Nybegynder
06. august 2010 - 13:57 Der er 12 kommentarer og
1 løsning

Linke til en form med udfyldte felter

Hej Eksperter

Jeg har brug for at linke til en form, og i linket sende noget input med der automatisk fyldes i de relevante felter.

Formen skal ikke submittes automatisk, felterne skal bare fyldes ud!

For eksempel:

Jeg linker til http://www.udvikleren.dk/Signup.aspx og sender et brugernavn og en e-mail adresse med der så automatisk fyldes i felterne. Brugeren udfylder selv de resterende og trykker "Opret bruger". (Bemærk: Dette var blot et tænkt eksempel, det er teknikken bag jeg er interesseret i).

På forhånd tak
Avatar billede keysersoze Guru
06. august 2010 - 14:36 #1
Der er nok ikke ét korrekt svar til dette da det afhænger af setup og muligheder (hvor kommer fx data til input-felterne fra) - mest oplagt er nok, at hvis brugeren er logget ind ligger info måske i sessions i forvejen så du kan hente dem derfra og ellers er querystrings (evt encrypted) en mulighed.
Avatar billede gadensgaard Nybegynder
06. august 2010 - 14:55 #2
Hej Kim

Som nævnt var det mere et tænkt eksempel.

Det konkrete eksempel er som følger:

Jeg har et katalog med et vilkårligt antal elementer. Fra hvert element vil jeg gerne linke til en "kontaktformular" med et antal felter.

Jeg vil så gerne have mulighed for at udfylde for eksempel "Emne" med "Kontaktmail vedrørende " + navnet på mit katalog emne, og "Link" med linket til det pågældende element (Emne og Link er begge felter i formen).

Strengene genererer jeg selv, og vil således gerne have mulighed for at "sende dem med".

Skulle linket have været et almindeligt "mailto" link havde jeg brugt "mailto:mail@adresse.dk?subject=Kontaktmail vedrørende FooBar".

Den optimale løsning ville være at jeg ikke havde mulighed for at redigere noget i formen, dvs. det skal foregå fra den side jeg linker fra.


Giver det mening?
Avatar billede majbom Novice
06. august 2010 - 21:54 #3
du kan jo sende de variabler med du vil have med:

<a href='kontakt_form.php?subject=Kontaktmail vedr FooBar'>Kontaktform</a>

og på siden med kontaktformen tjekker du om variablerne er sat, hvis de er, smides indholdet i de respektive felter? (og evt. sætter felterne til readonly)
Avatar billede keysersoze Guru
06. august 2010 - 22:00 #4
Så vil jeg mene, som også skrevet i mit første indlæg, at en eller flere querystring må være løsningen - enten, hvis du benytter en form for datakilde, ved at føre ID videre og hente informationerne ud på kontaktsiden baseret på det ID eller ligesom med mailto-linket at oprette en række af querystrings så det passer til det antal informationer du vil have med videre.
Avatar billede majbom Novice
06. august 2010 - 22:26 #5
-> #4 - ja det ville være smartere, og det må man gå ud fra er muligt...
Avatar billede gadensgaard Nybegynder
07. august 2010 - 09:33 #6
Hej begge

Jeg er med på at det ville være en løsning, det er også sådan Kim præsenterer det i sit første indlæg.

Begge løsninger kræver dog at jeg håndterer det på kontaktsiden. Uanset om det er igennem query strings eller ved at sende et ID med og hente informationen fra databasen på det grundlag vil det kræve at jeg på kontaktsiden smider informationen i form felterne.

Det er den næst bedste løsning, og nok også den løsning jeg ender med at bruge hvis det ikke kan lade sig gøre som jeg efterspurgte i første omgang.

Det kan ikke lade sig gøre med javascript eller lignende (som i kender til), og udfylde formen udelukkende med information og kode fra den side jeg linker fra?
Avatar billede keysersoze Guru
07. august 2010 - 11:15 #7
Grunden til at mailto virker som den gør når du sender parametre med er at det er en standard mailklienterne understøtter, de ved hvad de skal gøre med nogle specielle parametre - du er altså på samme måde nødt til at opfinde din egen standard for hvad din kontaktside understøtter, om den standard inkluderer javascript, .NET eller noget tredje er op til dig selv og ikke mindst de tekniske valg du foretager forinden.

Javascript bliver dog umiddelbart noget svært da du formentlig laver et fuldt sideskift/postback for så er al javascript du laver du på katalogsiden gået tabt - lavede du et "sideskift" vha fx AJAX eller viste du kontaktsiden i et modalvindue ville du godt kunne gøre det da "sideskift" og visning af kontakt så egentlig foregår direkte på katalogsiden så javascript kan køres samtidig med. Den eneste måde javascript kan komme ind over ved et helt sideskift er ved at javascript kan finde parametrene for kontaktsiden - og det kan det kun ud fra din querystring eller hvis du dynamisk opbygger javascript på baggrund af usynlige parametre, fx sessions.
Avatar billede gadensgaard Nybegynder
07. august 2010 - 11:23 #8
Ok, jeg må kode mig ud af det på kontaktsiden.
Smider du et svar for points?
Avatar billede gadensgaard Nybegynder
07. august 2010 - 11:35 #9
Jeg kom lige til at tænkte på.

"Let me google that for you" udfylder jo netop søgefeltet på google baseret på en parameter der er sendt med på lmgtfy (altså på element siden, lmgtfy og ikke kontaktsiden, google).
Avatar billede keysersoze Guru
07. august 2010 - 12:34 #10
Let me google that for you?
Avatar billede gadensgaard Nybegynder
07. august 2010 - 12:38 #11
Avatar billede keysersoze Guru
07. august 2010 - 12:51 #12
Kig på URL'en til Google - en querystring, ændrer du den ændres også indholdet i Googles tekstboks, lmgtfy sender altså bare en querystring med søgestrengen videre til Google på samme måde som vi har foreslået her.

Querystringen q er den Google benytter til at udfylde tekstboksen med - det er en standard de har valg på samme måde som mailto-variablerne er implementeret i mailklienterne. Om Google håndterer det vha javascript (tvivler dog) eller serverside-kode  (formentlig) skal jeg lade være usagt men det sker ikke på en magisk vis kun Google og lmgtfy imellem.

... eller misforstår jeg noget i hvad du ser siderne imellem?
Avatar billede gadensgaard Nybegynder
07. august 2010 - 13:06 #13
Nej, du har selvfølgelig ret.
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
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

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