Avatar billede djblues Nybegynder
24. september 2001 - 13:58 Der er 25 kommentarer og
1 løsning

URL med ID=xxxxxxxxxxx (xxxxxxx=formfelt) ----- HOW??

Her har et formfelt som dette :
<input type=\"hidden\" name=\"Motherboard_Varenavn1\">

Nu vil jeg gerne hente værdien fra dette felt og bruge det som ID i et link :

?ID= værdien af <input type=\"hidden\" name=\"Motherboard_Varenavn1\">

Hvordan gør man dette ?
Avatar billede Slettet bruger
24. september 2001 - 14:02 #1
Det kan du kun med serverside, eller med et ret kompliceret JavaScript. Altså ikke ren HTML.

Men din variabel bliver sendt med når du sender formen, så det er noget med at requeste den på siden bagefter. I PHP kan du bare sige side.php?ID=<?PHP echo $Motherboard_Varenavn1 ?>
Avatar billede jayo Nybegynder
24. september 2001 - 14:02 #2
use method=\"GET\" istedet for \"POST\", skulle virke....

-jayo
Avatar billede nute Nybegynder
24. september 2001 - 14:02 #3
hvorfor skal du sende med i din link...verdien kan jo requestes på \"neste side\" når formen blir submittet...
Avatar billede djblues Nybegynder
24. september 2001 - 14:07 #4
Jeg vil lave et link i formen der åbner en ny side. På denne side hentes der en værdien fra en database baseret på ID\'en ......
------
Get-metoden er udelukket da jeg ikke vil submitte.
------
Request metoden tror jeg heller ikke vil virke, da jeg i samme form skal have flere links, der alle skal have hver deres id=
Avatar billede Slettet bruger
24. september 2001 - 14:11 #5
du må forklare lidt mere...Og du har stadig ikke fortalt om du bruger ASP/PHP/ColdFusion ???
Avatar billede djblues Nybegynder
24. september 2001 - 14:18 #6
Jeg bruger ASP, men det burde ikke have noget at gøre med den her side, da det udelukkende er værdien fra formfeltet jeg skal bruge i ID\'et....
--------------
Kan man ikke noget i denne retning :
<a href=\"konfig-produktinfo.asp?ID=xxxxxxxxxxx\">Info</a>

og i stdet for xxxxxxxxxxx requeste værdien fra formfeltet <input type=\"hidden\" name=\"Motherboard_Varenavn1\">
-----
Eller ?????
Avatar billede Slettet bruger
24. september 2001 - 14:22 #7
jo, hvis det ligger i en form!

du kan bare lave et href=\"this.submit()\" eller noget der ligner det...
Avatar billede djblues Nybegynder
24. september 2001 - 14:24 #8
Prøv at se på :
http://www.nordicdata.dk/butik/konfig.asp

Alt efter hvad der vælges i i de enkelte rullemenuer, blive værdien i et tilhørende \"hidden\" formfelt opdateret og jeg vil så tage denne værdi og bruge som ID i linket INFO......

Var det information nok ??
Avatar billede jakoba Nybegynder
24. september 2001 - 14:28 #9
\'id\' er read-only og kan ikke ændres efter siden er hentet.

men såvidt jeg kan se har den id-værdi du vil sætte heller ikke noget med nogen defineret style at gøre, og så kan du ligesågodt bruge name atributten istedetfor.

name virker præcis som id mht at slå op i document.all[ ] og getElemetbyId( ), jeg har hørt (men ikke testet) at de to atributter altid peger på den samme navnestreng.

<form name=\'olsen\'>
<input type=\"hidden\" name=\"Motherboard_Varenavn1\">
</form>

<a name=\'olsensenke\' href=...>

og så en javascript funktion i head:
<script language=\'javascript\'>
function setLinkName() {
    document.all[\'olsensenke\'].name = document.all[\'olsen\'].Motherboard_Varenavn1.value;
};
</script>

og så kalder du den funktion når værdien i dit hidden felt er iorden.

mvh JakobA
Avatar billede Slettet bruger
24. september 2001 - 14:28 #10
Jamen det skulle du da have sagt med det samme!

Der skal du over i JavaScript sektionen :)

Det kan sagtens lade sig gøre at lave det sådan. Jeg er bare ikke nogen JS haj.
Avatar billede jakoba Nybegynder
24. september 2001 - 14:30 #11
NB: pas lidt på. det navn du sætter bør være et lovligt javascript navn. dvs: ingen blanktegn, punktummer, regnetegn eller andre \'underlige\' tegn.
Avatar billede djblues Nybegynder
24. september 2001 - 14:41 #12
Øhhh, Jakoba, nu blev jeg lige sat lidt af....
Avatar billede djblues Nybegynder
24. september 2001 - 14:59 #13
Lige en ting.......

Det ID jeg skal bruge, bruges i en SQL-sætning (WHERE........) til at slå varen (ID) op, på siden jeg linker til
Avatar billede jakoba Nybegynder
24. september 2001 - 15:02 #14
Ja jeg tror også jeg har misforstået spørgsmålet :(

troede du havde et link hvord der stod
  <a id=\'noget\' href=\'url.html\'>
og så ville ændre den id værdi fra \'noget\' til indholdet af det der hidden felt.

kan det passe at alt havd du ønsker er at der skal sættes en  \"id=feltindhold\"
searchparameter på dit link?
Så det bliver til:
<a id=\'noget\' href=\'url.html?id=feltindhold\'>

mvh JakobA
Avatar billede djblues Nybegynder
24. september 2001 - 15:06 #15
ja, lige nøjagtigt .
og feltindhold skal være lig med formfeltet
<input type=\"hidden\" name=\"Motherboard_Varenavn1\">
osv.....
Avatar billede jakoba Nybegynder
24. september 2001 - 15:18 #16
<script language=\'javascript\'>

function fixLink ( linknavn, feltnavn ) {
    var da = document.all;
    if ( document.getElementById )
        da = document.getElementById;
    if ( !da(linknavn).oprindelig )
        da[linknavn].oprindelig = da[linknavn].href;
    da(linknavn).href = da(linknavn).oprindelig +\"?id=\" +escape( da(feltnavn).value );
}; //end fixLink ( string, string )

</script>

og så laver du en onclick event i hvert link der \'fixer\' linket:

<a name=\'Motherboard_link\' href=\"konfig-produktinfo.asp\"
  onclick=\"fixLink(\'Motherboard_link\',\'Motherboard_Varenavn1\');\">Info</a>

nb: id værdien ankommer url-encoded, så du skal evt af-encode den for den kan bruges i tabelopslag. Det ved jeg ikke hvad hedder i asp.

mvh JakobA
Avatar billede djblues Nybegynder
24. september 2001 - 15:24 #17
hmm, jeg kan bare ikke forstå hvorfor jeg ikke bare kan skrive ?ID=...request værdien af form feltet...
Avatar billede jakoba Nybegynder
24. september 2001 - 15:25 #18
Ups, glemte at lave [ og ] til parenteser i linien:
        da(linknavn).oprindelig = da(linknavn).href;
Avatar billede djblues Nybegynder
24. september 2001 - 15:31 #19
OK, ikke mere snak om dette....
Med Javascriptet og din lille UPS ændring, så virker det \"sgu\".....(undskyld mit sprog..)
Tak for hjælpen Jakoba...
Avatar billede jakoba Nybegynder
24. september 2001 - 15:33 #20
ASP sker på serveren. det bestemmer hvordan den fil skal se ud der bliver sendt til brugerens browser.
Når den fil så er sendt er ASP helt ude af billedet, og kommer først i spil igen næste gang brugeren beder om at få en side sendt.

her skal koden reagere på en ændring brugeren laver, og reaktionen skal ske FØR vi beder om den nye side. det kan asp ikke, så vi må bruge javascript.

alerrnativet kunne du submitte formen hver gang brugeren ændrede i et af felterner. så ville det virke med ?ID=<% =request %>\". Men det ville også give brugeren en hulens masse \'vente på server\'-tid.

mvh JakobA
Avatar billede djblues Nybegynder
25. september 2001 - 08:17 #21
Øhh, lige en sidste ting, hvis det ikke tager for meget af din tid . :

Kan man lave sætningen :
<a name=\'Motherboard_link\' href=\"konfig-produktinfo.asp\" onclick=\"fixLink(\'Motherboard_link\',\'Motherboard_Varenavn1\');\">

om, så man åbner et nyt vindue i en given størrelse......
Avatar billede jakoba Nybegynder
25. september 2001 - 08:53 #22
Du angiver vinduets størrelse med 2 extra parametre til funktionen fixLink

<script language=\'javascript\'>

var infoWin;    // ny variabel defineret udenfor funktionen fixLink

function fixLink ( linknavn, feltnavn, bred, hoj ) {
    var da = document.all;
    if ( document.getElementById )
        da = document.getElementById;
    if ( !da(linknavn).oprindelig )
        da[linknavn].oprindelig = da[linknavn].href;

    da[linknavn].href = \"java script:void(0)\"  // selve linket skal ikke hoppe nogen steder

    winurl = da(linknavn).oprindelig +\"?id=\" +escape( da(feltnavn).value );
    infoWin = window.open( \"winurl\", \"infowindue\"
              , \"location=1,menubar=1,toolbar=1,resizable=1,scrollbars=1\"
              + \",height=\" +hoj +\",width=\" +bred );
    if (self.focus ) infoWin.focus();

}; //end fixLink ( string, string, number, number )

</script>

og så laver du en onclick event i hvert link der \'fixer\' linket:

<a name=\'Motherboard_link\' href=\"konfig-produktinfo.asp\"
  onclick=\"fixLink(\'Motherboard_link\',\'Motherboard_Varenavn1\', 600, 400 );\">Info</a>

mvh JakobA
Avatar billede djblues Nybegynder
25. september 2001 - 09:16 #23
Øhh, det virker ikke helt ...
Melder en eller anden fejl i scriptet.
Avatar billede djblues Nybegynder
25. september 2001 - 09:20 #24
Nå, fejlen var åbenbart [xxx] istedet for (xxx) tre steder.
Men nu åbner den ikke den rigtige URL i det nye vindue
Avatar billede jakoba Nybegynder
25. september 2001 - 09:42 #25
nej, jeg har kvajet mig :(  Winurl er jo en variabel, så der skal ikke \" tegn omkring den i kaldet til window.open( winurl, \"infowindue\" ...

    infoWin = window.open( winurl, \"infowindue\"

mvh JakobA
Avatar billede djblues Nybegynder
25. september 2001 - 09:47 #26
Kanont TAK..... nu virker det .....
Vil du se og vurdere, så se :
http://www.nordicdata.dk/butik/konfig.asp
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