Gebruik van dubbele quotes in formulieren

04-09-2013 | Marcel van Langen | HTML, XHTML, CSS | html, coldfusion, formulier, htmleditformat

Heb je een mooi formuliertje gebakken, gaat een gebruiker er ineens allemaal rare tekens in plaatsen. Over het algemeen geen probleem voor ColdFusion in het algemeen en CFQUERYPARAM in het bijzonder. Als diezelfde gebruiker echter dubbele quotes in het formulierveld gaat invullen, dan is wel een extra stap benodigd.

Allereerst even het probleem. Je hebt een formulier. Een gebruiker voert in een van de velden een waarde in, met daarin een dubbele quote. De waarde wordt opgeslagen, maar de volgende keer dat je de gegevens opvraagt is de dubbele quote en alles wat daarop volgt verdwenen uit het formulierveld.

Waarschijnlijk zul je eerst gaan kijken of de informatie wel goed is opgeslagen in de database. Maak je bij het opslaan gebruik van CFQUERYPARAM (en natuurlijk doe je dat!), dan zul je ontdekken dat het allemaal netjes is opgeslagen in de database. Maar waarom wordt de informatie dan niet goed getoond?

Dit is een HTML probleem. Stel je de volgende ColdFusion code voor:

<cfparam name="attributes.rel_company" default="#qryRelatieItem.rel_company#" />
<input name="rel_company" type="text" value="#attributes.rel_company#" />

Op zich prima, ware het niet dat wellicht de waarde qryRelatieItem.rel_company een dubbele quote kan bevatten, bijvoorbeeld Boerderij "Het Achterveld". In dat geval zal de uiteindelijke HTML er als volgt uit zien:

<input name="rel_company" type="text" value="Boerderij "Het Achterveld"" />

Het effect in de browser is dat je in het formulierveld alleen maar het volgende ziet:

Boerderij

De oplossing is HTMLEditFormat te gebruiken op de oorspronkelijke waarde. Op deze manier gaan de bijzondere karakters niet verloren. De voorbeeldcode moet dan als volgt worden aangepast om te werken:

<cfparam name="attributes.rel_company" default="#HTMLEditFormat(qryRelatieItem.rel_company)#" />
<input name="rel_company" type="text" value="#attributes.rel_company#" />

Over Morloff

Morloff ontwerpt en realiseert succesvolle webtoepassingen op het gebied van procesoptimalisatie, eCommerce en rapportage door de inzet van moderne webtechnieken, sociale media en zoekmachine optimalisatie.

over ons | diensten | portfolio | contact | route

naar website IJsmonster.nl naar website ICT intermediairs naar website marcelvanlangen.com

Twitter

Morloff

Cuneraweg 169a
3911 RH Rhenen

M +31 (0)6 - 515 96 189
W www.morloff.nl
E contactformulier

Morloff op Twitter Morloff op Facebook Morloff op LinkedIn Morloff via RSS