WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   quotation mark och formulär (https://www.wn.se/forum/showthread.php?t=21496)

caipirinha 2007-05-26 15:48

Körde på ett litet problem, hur får man '"' quotation mark att visas i formulär med value= ? . Har kategorier som tex 'LCD 19"' men då försvinner såklart det sista när man ska editera det i admin... kör php och testat urlencode m.m.

totoo 2007-05-26 16:00

Du behöver escapa tecknet, alltså sätta ett backslash innan.

value="fin skärm, hela 71.000\", sånt gillar vi"

kullervo 2007-05-26 16:05

Citat:

Originally posted by totoo@May 26 2007, 15:00
Du behöver escapa tecknet, alltså sätta ett backslash innan.

value="fin skärm, hela 71.000\", sånt gillar vi"

Dubbelfnutt escape:as till " i HTML och XHTML.

caipirinha 2007-05-26 16:05

Hittade felet...

value=\"test \" test\" = fungerade inte, blev "test "
value='test \" test' = fungerar, blev "test " test"

Hur gör ni? kör med '' eller "" i xhml?

totoo 2007-05-26 16:06

Men räcker inte backslashet för att det ska fungera i ett formulär?


edit:


value=\"test \" test\" är helt fel


Även om det kanske inte fungerar att escape:a med backslash i formulär så är du ändå fel ute.

Du ska inte escapa de yttre citattecknen, det är de eventuella citattecknen på sinsidan som ska escape:as.

value="test \" test"


Sen använder jag citattecken överallt i html ja.

caipirinha 2007-05-26 16:11

backslashet är ju bara för att php inte ska muppa ut :) Från Wikipedia

In XHTML, all attribute values must be enclosed by quotes (either 'single' or "double" quotes may be used)

får helt enkelt börja koda om allt med ' isf ", blä :)

totoo 2007-05-26 16:14

nej nej, det ska du absolut inte göra, det är inte där felet ligger. Då kan ju inte dina värdne innehålla apostrofer istället.

Du ska alltid escapa de värden du stoppar i, även om det inte fungerar med ett backslash innan så kör htmlentities() (om du använder php) på värdet du stoppar i.

caipirinha 2007-05-26 16:21

Verkar vara läsaren som är problemet, opera & safari & ie klarar det på alla sätt men firefox (2.0.0.3) vägrar. Kanske en bugg...

caipirinha 2007-05-26 16:34

Sådär, nu fungerar det i alla webläsare. Får låta javascript skriva in det efteråt.

printf("document.getElementById('xhtml_name').valu e = '%s';", addslashes($array_categories["entry_name"]));

guran 2007-05-26 19:09

Går det inte bra med php:s funktion addslashes()?


Alla tider är GMT +2. Klockan är nu 13:54.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson