Avatar billede hansi67 Nybegynder
11. juli 2005 - 15:31 Der er 9 kommentarer og
1 løsning

FormMail - udskrift komma til punktum

Hejsa
Jeg har en FormMail der se ud a la nedenstående:

----
<FORM METHOD="POST" ACTION="http://mail.XXX.dk/FormMail.cgi">
<Input Type=hidden name="recipient" value="mail@XXX.dk">
<Input Type=hidden name="subject" value="Bestilling">
<input type=hidden name="redirect" value="http://www.XXX.dk/tak.htm">

<input name="Værdi der indeholder, komma" size="1" maxlength="3" Type="text">
<input name="Værdi der indeholder, komma" size="1" maxlength="3" Type="text">
<input name="Værdi der indeholder, komma" size="1" maxlength="3" Type="text">

<input type="submit" value="Send bestilling">
</FORM>
---

Kan det lade sig gøre via JavaScript at udskifte alle kommaerne i værdierne til f.eks. punktum'er ?

Så når man trykker på "knappen submit", bliver nedestående:
<input name="Værdi der indeholder, komma" size="1" maxlength="3" Type="text">

udskiftet til:
<input name="Værdi der indeholder. komma" size="1" maxlength="3" Type="text">
inden formen bliver sendt.
Avatar billede roenving Novice
11. juli 2005 - 15:36 #1
Tjah, f.eks.

<script type="text/javascript">
function commaToPeriod(f){
  e = f.elements;
  for(i=0;e.length>i;i++){
    if(e[i].type=='text')
      e[i].value = e[i].value.replace(/,/g,".");
  }
  return true;
}
</script>

-- og så sådan i form-tagget:

<form method="post" action="http://mail.XXX.dk/FormMail.cgi" onsubmit="return commaToPeriod(this);">
Avatar billede hansi67 Nybegynder
11. juli 2005 - 16:12 #2
Hey.. tak for dit hurtige svar.
Jeg har lige prøvet at teste med den kode du har "foreslået" men det ser ikke  ud til at virke.

Det (tåbelige) CGI-script min mailform benytter acceptere ikke kommma i værdierne der sendes.
Når jeg benytter din kode får jeg ingen fejlbeskeder men jeg modtager heller ikke noget fra de <input> hvor i der er kommaer.

Jeg modtager denne: (unden komma)
<input name="Værdi der ikke indeholder komma" size="1" maxlength="3" Type="text">

Men jeg modtager ikke denne:
<input name="Værdi der indeholder, komma" size="1" maxlength="3" Type="text">

Jeg har selvfølgelig gjort som du bekriver:
----
<script type="text/javascript">
function commaToPeriod(f){
  e = f.elements;
  for(i=0;e.length>i;i++){
    if(e[i].type=='text')
      e[i].value = e[i].value.replace(/,/g,".");
  }
  return true;
}
</script>

<form method="post" action="http://mail.XXX.dk/FormMail.cgi" onsubmit="return commaToPeriod(this);">
----
Avatar billede roenving Novice
11. juli 2005 - 16:19 #3
Det er vel ikke name, men value, som indeholder kommaerne ?-)
Avatar billede hansi67 Nybegynder
11. juli 2005 - 16:53 #4
:)

Jeg modtager f.eks. denne:
<input name="210 Grov 40 x 250" size='1' maxlength='3' Type='text'>

Men jeg modtager ikke denne (med komma i name):
<input name="2501 Sup. 1x1 96,-" size='1' maxlength='3' Type='text'>

Sådanne ser det ud når jeg motager emailen:
---
recipient: mail@XXX.dk
email: mail@XXX.dk
bruger: user
subject: Bestilling fra www.XXX.dk
redirect: http://www.XXX.dk/tak.htm
210 Grov 40 x 250: 99
---

99 er value (skriver ikke andet end "99" i alle test bestillinger jeg har lavet)
Avatar billede roenving Novice
11. juli 2005 - 17:17 #5
Principielt er dine names ugyldige, så jeg ville finde på noget andet, for det er selvfølgelig fordi cgi-scriptet tolererer meget, men ikke alt i ugyldighed !-)

Jeg ville i stedet lave to felter, begge med gyldige navne, og så måske sætte det ene som hidden, men det er ikke nødvendigt, for f.eks. kan du jo simpelthen benytte dig af det til at vise produkt-betegnelsen og så lave det til et readonly-felt:

<input name="prod1" value="210 Grov 40 x 250" type='text' readonly="readonly">: <input name="val1" size='1' maxlength='3' type="text"><br>
<input name="prod2" value="2501 Sup. 1x1 96,-" type='text' readonly="readonly">: <input name="val2" size='1' maxlength='3' type="text"><br>

-- så burde dit cgi-script ikke protestere !o]
Avatar billede roenving Novice
11. juli 2005 - 17:22 #6
Du kan se lidt mere om names her: http://www.w3.org/TR/REC-html40/types.html

-- faktisk næsten i toppen under '6.2 SGML basic types' !-)
Avatar billede hansi67 Nybegynder
11. juli 2005 - 17:57 #7
Det er også den f****** hede og et skod tastetur  8)
Jeg tror sørme jeg vil lave lidt om på mine names, men lad nu det ligge :P

Points ? ..
Avatar billede roenving Novice
12. juli 2005 - 07:17 #8
Jo, tak, men behold nu langt de fleste selv !-)

Velbekomme '-)
Avatar billede hansi67 Nybegynder
12. juli 2005 - 12:02 #9
Givet!
Avatar billede roenving Novice
12. juli 2005 - 12:05 #10
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
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