Avatar billede grind Nybegynder
24. februar 2007 - 14:20 Der er 6 kommentarer og
2 løsninger

convertering af en værdi i ASP javascript

Jeg er igang med at lave en side hvor en løkke opsumerer en pris. Denne værdi skal postes via en form til en anden side.
Hvordan får jeg værdien converteret til en strengvariabel der kan postes til en anden side som url parameter?
Det er nok banalt - jeg ved bare ikke lige hvordan...
Avatar billede kalp Novice
24. februar 2007 - 16:47 #1
du smider det ind i CStr(dinvariabel)

og så kan du sende det med over:) tror bare ikke man behøver konvertere det til en string først
Avatar billede kalp Novice
24. februar 2007 - 16:50 #2
Du sætter det på url'en der hvor du redirekter til den anden side.

f.eks

dim pris

pris = 20

response.redirect("nyside.asp?pris=" & CStr(pris) & "")



og så tror jeg ikke det er sikkert du behøver konvertere til string overhovedet:) men nu gør vi det.
Avatar billede softspot Forsker
24. februar 2007 - 17:02 #3
Det kommer lidt an på hvordan du vil sende værdien (som et link eller i en form). Hvis den skal sendes som en parameter i et link, f.eks. <a href="side.asp?parameter=1">send data</a>, så kan du benytte lidt javascript til at ændre href-atributten på linket. Det kan f.eks. gøres således:

<a href="side.asp" onclick="beregnOgSend(this)">send data</a>

Funktionen beregnOgSend kunne så defineres således:

<script type="text/javascript">
function beregnOgSend(obj) {
  var sum = 0;

  // TODO: foretag de nødvendige beregninger af værdien og gem dem i variablen sum

  if(obj && obj.tagName && obj.tagName.toLowerCase() == "a") {
    obj.href += "?sum=" + sum;
  }
}
</script>

Jeg er klar over at dette nok ikke ville fungere særlig godt i en XHTML-side, men bare lige for at skitsere metodikken.

I en form kunne du have et skjult felt liggende som du satte værdien af inden du sendte formularen til serveren (med en method="get" for at sende det som querystring-parametre), f.eks.

<form name="senddata" id="senddata" method="get" action="side.asp" onsubmit="return beregnOgSend(this)">
  <input type="hidden" name="sum" value="">
  <input type="submit" value=" send data ">
</form>


<script type="text/javascript">
function beregnOgSend(frm) {
  var sum = 0;

  // TODO: foretag de nødvendige beregninger af værdien og gem dem i variablen sum

  if(frm) {
    frm.sum.value = sum;
  }
  return true;
}
</script>
Avatar billede grind Nybegynder
24. februar 2007 - 17:04 #4
GAWI: Er det ikke kun på en side der kører VBSCRIPT man kan bruge Cstr?
Avatar billede grind Nybegynder
24. februar 2007 - 17:20 #5
TAK til begge for forslagene. Jeg har løst problemet.
Avatar billede softspot Forsker
24. februar 2007 - 17:22 #6
OK - hvad gjorde du så (bare så andre kan få glæde af din løsning :))?
Avatar billede grind Nybegynder
24. februar 2007 - 17:33 #7
Jeg sørgede såmænd bare for at gange hele tal,så jeg undgik decimaltal.
Jeg kunne ikke få det til at virke med CStr...
Avatar billede softspot Forsker
24. februar 2007 - 17:39 #8
Hmmm... ok, men tak for point :)
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
Kurser inden for grundlæggende programmering

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