Avatar billede krogstrup Nybegynder
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.
Avatar billede dudal Nybegynder
03. maj 2001 - 13:11 #1
Noget i denne stil:

<input name=\"ID3\" value=\"8\" onBlur=\"location.href=\'nyside.asp?Id=id&antal\' + this.value\">

/dudal
Avatar billede krogstrup Nybegynder
03. maj 2001 - 13:16 #2
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 !
Avatar billede dudal Nybegynder
03. maj 2001 - 13:25 #3
<input name=\"ID3\" value=\"8\" onBlur=\"location.href=\'nyside.asp?Id=\'+ this.name +\'&antal\' + this.value\">
/dudal
Avatar billede nikolajdu Nybegynder
03. maj 2001 - 13:25 #4
this.name +.this.value
Avatar billede krogstrup Nybegynder
03. maj 2001 - 13:31 #5
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 ???
Avatar billede jakoba Nybegynder
03. maj 2001 - 15:12 #6
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?
Avatar billede krogstrup Nybegynder
03. maj 2001 - 15:34 #7
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 ?!?
Avatar billede jakoba Nybegynder
03. maj 2001 - 15:44 #8
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_
Avatar billede krogstrup Nybegynder
03. maj 2001 - 16:01 #9
Her gør den det rigtigt - den udskriver den nye værdi jeg indtaster i feltet !
Avatar billede jakoba Nybegynder
03. maj 2001 - 17:56 #10
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
Avatar billede krogstrup Nybegynder
03. maj 2001 - 17:58 #11
jakoba >>>

kan du ikke give et svar
Avatar billede jakoba Nybegynder
03. maj 2001 - 18:13 #12
dudals svar.
Avatar billede krogstrup Nybegynder
03. maj 2001 - 18:30 #13
helt i orden :-)
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