834HF42F242 Skrevet 14. april 2007 Del Skrevet 14. april 2007 Litt vanskelig å forklare, men jeg skal forsøke med enkel kode: <select name="Felt1"> <input>Verdi 1</input> <input>Verdi 2</input> </select> <input type="tekst" name="Felt2"> Det jeg trenger er et javascript som, etter at man har valgt en verdi i rullegardinen, automatisk fyller den samme verdien inn i input for "Felt2". Noen som har roen på dette? Lenke til kommentar
Kagee Skrevet 14. april 2007 Del Skrevet 14. april 2007 (endret) Du har litt feil i koden din, og du må ha alt i en form for å bruke denne enkle metoden. <html> <body> <form name="form1"> <select name="Felt1" onchange="document.form1.Felt2.value=this.value"> <option value="">Velg verdi</option> <option value="Verdi 1">Verdi 1</option> <option value="Verdi 2">Verdi 2</option> </select> <input type="tekst" name="Felt2"> </form> </body> </html> Select har undergruppen option, ikke input, og input må ha value for å få tak i dataene, innerHTML returnerer "for mye". Jeg la inn en "Velg verdi" for å la "Verdi 1" kunne bli valgt enkelt. Endret 14. april 2007 av Kagee Lenke til kommentar
834HF42F242 Skrevet 15. april 2007 Forfatter Del Skrevet 15. april 2007 Som sagt så postet ikke jeg fullstendig kode, men et kort og ufullstendig eksempel Takker for svaret. Javascript er ikke min sterke side Lenke til kommentar
834HF42F242 Skrevet 16. april 2007 Forfatter Del Skrevet 16. april 2007 <form name="form1"> <select name="Felt1" onchange="document.form1.Felt2.value=this.value"> <option value="">Velg verdi</option> <option value="001">Verdi 1</option> <option value="002">Verdi 2</option> </select> <input type="tekst" name="Felt2"> </form> Har en litt hardere nøtt: I databasen lagrer jeg en tallverdi ikke "synlig" for den som velger. Tallverdien ligger i "value". Hvordan kan jeg få javascriptet til å sende det som står mellom <option></option>, altså tekstverdien, inn i felt 2? Lenke til kommentar
Paull Skrevet 16. april 2007 Del Skrevet 16. april 2007 Maner du kan bruke .text istedetfor .value for å få tak i den. Lenke til kommentar
Kagee Skrevet 16. april 2007 Del Skrevet 16. april 2007 (endret) .text funket dårlig (sjekk det raskt i Tryit Editor, link i sig), men denne litt stygge koden fungerte i FF på Ubuntu. <html> <body> <form name="form1"> <select name="Felt1" onchange="document.form1.Felt2.value=document.getElementById('op' + this.value).innerHTML"> <option id="op0" value="0">Velg verdi</option> <option id="op2" value="1">Verdi 1 text</option> <option id="op1" value="2">Verdi 2 text</option> </select> <input type="tekst" name="Felt2"> </form> </body> </html> Den finner ut hvilken verdi select har (hvilken option du har valgt) og finner ID til option derfra, og henter innerTHML fra den option. Litt kludrede forklart, men eksempelet fungerer. Et krav er at option-id og option-value samsvarer som vist - er det mulig i din applikasjon? Endret 16. april 2007 av Kagee Lenke til kommentar
834HF42F242 Skrevet 16. april 2007 Forfatter Del Skrevet 16. april 2007 Nå sitter ikke jeg med testmiljøet for øyeblikket, men forstår jeg deg rett nå så sender scriptet for eksempel verdien "Verdi 1 text" til "Felt 2"? Hva om det står det samme i ID som mellom <option></option>? Kan bare ID-en sendes da? Takker for hjelp Lenke til kommentar
Kagee Skrevet 16. april 2007 Del Skrevet 16. april 2007 Jeg sitter her å ser på det siste spørsmålet ditt, og jeg klarer bare ikke å skjønne hva du mener. Det kan hende jeg er sliten av å ha jobbet lenge på et kontor med vintertempratur på ovnene, men det er jo alltid option-value som sendes fra document.form1.Felt1, koden jeg bruker i select-onchange flytter jo bare teksten fra option-innerHTML til Felt2 (som du ønsket) Lenke til kommentar
834HF42F242 Skrevet 16. april 2007 Forfatter Del Skrevet 16. april 2007 Eksempel på hva jeg tenkte på: <html> <body> <form name="form1"> <select name="Felt1" onchange="document.form1.Felt2.value=this.id"> <option value="">Velg verdi</option> <option id="Verdi 1" value="001">Verdi 1</option> <option id="Verdi 2" value="002">Verdi 2</option> </select> <input type="tekst" name="Felt2"> </form> </body> </html> Lenke til kommentar
Kimble Skrevet 16. april 2007 Del Skrevet 16. april 2007 Når du spesifiserer value med en attributt er det den som blir sendt uavhengig av hva som står i nedtrekslista. Lenke til kommentar
Kagee Skrevet 16. april 2007 Del Skrevet 16. april 2007 (endret) Eksempel på hva jeg tenkte på: <html> <body> <form name="form1"> <select name="Felt1" onchange="document.form1.Felt2.value=this.id"> <option value="">Velg verdi</option> <option id="Verdi 1" value="001">Verdi 1</option> <option id="Verdi 2" value="002">Verdi 2</option> </select> <input type="tekst" name="Felt2"> </form> </body> </html> 8397531[/snapback] Nei - da ville Felt2 blitt id'en til Felt1 - "undefined" Man kan kanskje bruke en on*ettellerannet på option-feltene. Kan ikke prøve det ut akkurat nå, men hvis ingen slår meg, skal jeg komme med et eksempel. (hvis det er mulig) Endret 16. april 2007 av Kagee Lenke til kommentar
Kimble Skrevet 16. april 2007 Del Skrevet 16. april 2007 Har ikke lest hele tråden såå nøye, men du fyller ut nedtrekkslista med verdier hentet ut fra en database? Da bør du absolutt bruke id'n fra databasen som value og "regne" deg tilbake når brukeren sender skjemaet. Det er uansett bra prakis og gjør det vanskeligere for folk å ødelegge. Lenke til kommentar
834HF42F242 Skrevet 16. april 2007 Forfatter Del Skrevet 16. april 2007 For å gjøre det hele enkelt. Det man velger i rullegardinen skal automatisk kopieres til et nytt tekstfelt. Og jeg vil ikke ha det i "value" kopiert, men tekst-strengen som står mellom option. Grunn: Jeg har en database med albumomtalet og artister. Når et nytt album legges inn, får brukeren en rullegardin med artister. Hver artist har en ID i tabellen. Det er ID-en som skal lagres, slik at en link til artist-siden kan genereres. I tillegg ønsker jeg altså selve navnet på artisten lagret i et eget felt i tabellen for albumet. For at den som legger inn albumet skal slippe å både velge artist i rullegardin, og å skrive inn navnet på artisten i et nytt felt, ønsker jeg at navnet skal lagres med en "hidden" "input" helt automatisk. Lenke til kommentar
Kagee Skrevet 16. april 2007 Del Skrevet 16. april 2007 Jo, men han skal absolutt ha ... det brukeren velger i dropdow'en som tekst i et annet textarea. Den koden funker, nå jeg jeg ikke sikker på hva du er på jakt etter lenger. Lenke til kommentar
834HF42F242 Skrevet 16. april 2007 Forfatter Del Skrevet 16. april 2007 (endret) Testet ut nå, men det skjer ingenting. Her er koden: <form method="post" action="ny_omtale.asp" name="frmEntry"> <select name="entrytitle" onchange="document.frmEntry.Biografi.value=this.id"> <option value="">Artist/Band</option> <option id="Alice Cooper" value="570">Alice Cooper</option> <option id="Eloy" value="575">Eloy</option> <option id="Iron Maiden" value="572">Iron Maiden</option> <option id="King Crimson" value="574">King Crimson</option> <option id="Led Zeppelin" value="573">Led Zeppelin</option> </select> <input type="text" name="Biografi" value="" /> </form> Edit: Også prøvde med "document.getElementById('op' + this.value).innerHTML" etter value= i javascriptet Endret 16. april 2007 av neitakk Lenke til kommentar
834HF42F242 Skrevet 16. april 2007 Forfatter Del Skrevet 16. april 2007 Det funket, men den sender kun "null" til tekstfeltet. Kan jeg bruke en "onselectet" eller "onoption" på hver <option> i stedet? Lenke til kommentar
Kagee Skrevet 16. april 2007 Del Skrevet 16. april 2007 (endret) Testet ut nå, men det skjer ingenting. Her er koden: <form method="post" action="ny_omtale.asp" name="frmEntry"> <select name="entrytitle" onchange="document.frmEntry.Biografi.value=this.id"> <option value="">Artist/Band</option> <option id="Alice Cooper" value="570">Alice Cooper</option> <option id="Eloy" value="575">Eloy</option> <option id="Iron Maiden" value="572">Iron Maiden</option> <option id="King Crimson" value="574">King Crimson</option> <option id="Led Zeppelin" value="573">Led Zeppelin</option> </select> <input type="text" name="Biografi" value="" /> </form> Edit: Også prøvde med "document.getElementById('op' + this.value).innerHTML" etter value= i javascriptet 8400652[/snapback] Du blander Bruk: "document.getElementById('op' + this.value).innerHTML" etter value= i javascriptet og <option id="op573" value="573">Led Zeppelin</option> (f.eks >>id="op{$artistnummer}" value="{$artistnummer}"<< Det er ID som må være noe jeg kan hente fra select - dvs option-value, som jeg slår sammen med "op" for å finne option-id som jeg bruker for å finne teksten ALLE mine koder funker HAHAHA HA-HA-HA-HA!! (hvis noen nå finner den .text det ble snakket om tidligere, kommer jeg til å ha gjort mye unødvendig arbeid....) Endret 16. april 2007 av Kagee Lenke til kommentar
834HF42F242 Skrevet 16. april 2007 Forfatter Del Skrevet 16. april 2007 (endret) Takker for tålmodighet. Er det noe jeg overser, eller er denne koden slik du foreslår? Returnerer bare "null": <form method="post" action="ny_omtale.asp" name="frmEntry"> <select name="entrytitle" onchange="document.frmEntry.Biografi.value=document.getElementById('op' + this.value)"> <option value="">Artist/Band</option> <option id="opAlice Cooper" value="570">Alice Cooper</option> <option id="opEloy" value="575">Eloy</option> <option id="opIron Maiden" value="572">Iron Maiden</option> <option id="opKing Crimson" value="574">King Crimson</option> <option id="opLed Zeppelin" value="573">Led Zeppelin</option> <option id="opPink Floyd" value="571">Pink Floyd</option> </select> <input type="text" name="Biografi" value=""></form> Endret 16. april 2007 av neitakk Lenke til kommentar
Kagee Skrevet 16. april 2007 Del Skrevet 16. april 2007 (endret) <form method="post" action="ny_omtale.asp" name="frmEntry"> <select name="entrytitle" onchange="document.frmEntry.Biografi.value=document.getElementById('op' + this.value)"> <option value="">Artist/Band</option> <option id="opKing Crimson" value="574">King Crimson</option> <option id="opLed Zeppelin" value="573">Led Zeppelin</option> </select> </form> 8401389[/snapback] La Tor's allmektige hammer slå deg i bakken - du nærmer deg <form method="post" action="ny_omtale.asp" name="frmEntry"> <select name="entrytitle" onchange="document.frmEntry.Biografi.value=document.getElementById('op' + this.value).innerHTML"> <option value="">Artist/Band</option> <option id="op574" value="574">King Crimson</option> <option id="op573" value="573">Led Zeppelin</option> </select> </form> (Lurte på om jeg skulle vente litt og se om du retta deg selv ) PS: OPPDATERT KODE (la til .innerHTML) Endret 16. april 2007 av Kagee Lenke til kommentar
834HF42F242 Skrevet 16. april 2007 Forfatter Del Skrevet 16. april 2007 Så det, og prøvde det også Samme resultat uansett. "Null" Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå