03. maj 2001 - 13:07
Der er
12 kommentarer og 1 løsning
onChange i INPUT felt af type text
Hvordan omskriver jeg nedenstående kode (som er blevet brugt i en SELECT) således at den virker i en INPUT af typen text. onChange=\"java script:var i = this.selectedIndex;self.location.href=this.options[i].value;\" Hvis jeg f.eks. har et felt, der ser således ud: <input name=\"ID3\" value=\"8\"> ønsker jeg at når der skrives en ny værdi i feltet (altså onChange), skal javascriptet redirecte mig til følgende side: nyside.asp?ID=NAME&antal=VALUE hvor henholdsvis NAME og VALUE selvfølgelig skal erstattes af værdierne fra min INPUT.
Annonceindlæg fra Cognizant
Noget i denne stil: <input name=\"ID3\" value=\"8\" onBlur=\"location.href=\'nyside.asp?Id=id&antal\' + this.value\"> /dudal
onBlur=\"location.href=\'nyside.asp?Id=id&antal\' + this.value\"> Ovenstående fanger jo ikke navnet på min INPUT. Jeg skal både bruge NAME og VALUE !
<input name=\"ID3\" value=\"8\" onBlur=\"location.href=\'nyside.asp?Id=\'+ this.name +\'&antal\' + this.value\"> /dudal
Hvis mit felt ser således ud: <input name=\"bla\" value=\"8\"> og jeg ændrer value til 9 fungerer scriptet egentlig fint nok. Jeg bliver redirectet, MEN: den value der bliver videreført er ikke 9 men 8 ???
Den value der bliver overført er det du skrev i feltet. Hvis det skal være en fixeret værdi må du kombinere den ind i din name parameter. Skal der forresten ikke et = tegn efter antal i eksemplerne ovenfor?
Nej, det er netop IKKE den værdi jeg skriver i feltet, der bliver overført. Det er den værdi der statisk er skrevet ind i koden.... <input value=\"8\"> Nu er det tallet 8 der bliver overført uanset hvad jeg skriver i feltet ?!?
Så fatter jeg slet ikke noget. ku jeg få dig til at lave denne lille test: <script> function feltPar( flt ) { var tx = \"?Id=\" +flt.name +\"&value=\" +flt.value; alert ( \"url-param = \"+tx ); // fjern denne linie efter test return tx; }; //end feltPar( Felt objekt ) </script> <input name=\"ID3\" value=\"8\" onBlur=\"location.href=\'nyside.asp\' +feltPar(this);\"> alerten skulle meget gerne sige ?Id=ID3&value=_det_du_skrev_
Her gør den det rigtigt - den udskriver den nye værdi jeg indtaster i feltet !
Måske noget med at det andet bliver evalueret idet browseren tegner siden. Men jeg synes ikke det burde. Allenfals. smid alerten væk og brug det. mvh JakobA
jakoba >>> kan du ikke give et svar
Vi tilbyder markedets bedste kurser inden for webudvikling