07. juni 2005 - 10:01Der er
9 kommentarer og 1 løsning
Kommaseparator i "form Method=post kontra komma i decimaltal
Jeg sender en form med Method="Post" og mine felter findes flere gange. form post sender variablen som en lang streng med komma som separator hvilket er OK da jeg bruger split til at dele strengen op - MEN når jeg så bruger et decimaltal, hvilket jeg gør og som dansk bruger vi jo komma til decimaltal. DET KAN SPLIT IKKE LI, da der jo findes både komma som separator og decimal. Nogen der har en god ide, eller som ved om jeg kan få Post method til at benytte andre separator end komma, da jeg jo ikke bare lige kan ændre det danske komma i decimaltal. Hilsen Preben
Hvordan er din form? Normalt har man jo flere forskellige felter "navn" "adresse" osv osv Er det fordi du har et felt som allerede indeholder en kommasepereret liste? For så kan du jo bare lave den liste fx semikolon sepereret i stedet
ahh de hedder det samme ok, fattede jeg ikke lige ;o) Det er umiddelbart uhænsigtmæssig at kalde felter det samme i en form da man jo så ikke kan skille dem ad fra hinanden - slet ikke med dit problem Du kan også bare kalde dem name="navn1" til name="navn10" og så løbe dem igennem dynamisk som buzzzz foreslår Jeg tror dog ikke du kan sende dem afsted som et array!
Felterne har samme navne for det er en række felter (eks. navn, adresse postnr) der gentages for hvert navn i listen med en for/next løkke. Både fordi jeg ikke kender antallet af poster og fordi jeg ikke har lyst til at have så mange forskellige felt navne at opdaterer, bruger jeg for/next eller do/while til at liste og/eller opdaterer dem. Det er heller ikke noget problem for når hele formen postes, indeholder hvert felt jo bare alle navne med et komme som separator. denne streng af navne, adresser, postnr. osv. lægges EFTER formen er sendt i array med split funktionen. Virker udmærket men separator tegnet som er et komma, er i konflikt med decimal kommaet.
Ja men du kan ikke skælne mellem to kommaer :o) Så du er nød til at finde en anden løsning Enten bruge '.' i dine tal frem for ',' Eller også lave din funktionalitet om Når du alligevel har en løkke er der jo intet i vejen for at nummererer dem i din løkke Du løber igennem og tæller fx 'i' op , jamen så har du jo "name='adresse'"&i - og din form er derved dynamisk Antallet kan du jo også overføre. evt i en session. så når du henter dine variable igen så ved du hvor mange der er, og så laver du igen en løkke :o)
Du må vel også have samme problem i adressen? I min adresse er der da indeholdt et komma som seperator fordi jeg bor i nr 25, 2sal lejl 25 sådan her 25,2-25
ja alle steder hvor der kan forekomme kommaer i felter. Jeg "har andre løsninger", med replace osv. men mit spørgsmål her går på om man kan ændre separator kommaet i Method="post" og i givet fald hvordan
mit bud er helt klart _nej_ at du kan ikke ændre det Jeg har aldrig nogen sinde hørt om det og kan absolut ikke se nogen grund til det. Hvis man kunne ændre det ville det jo være fuldstændig uforudsigeligt hvordan POST opfører sig i forskellige browsere - og det er jo meningsløst hvis man ikke kan stole på POST fungerer som den gør :o)
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.