---
title: "problem med javascript i argument"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/166007-problem-med-javascript-i-argument"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "Moonman"
published: "2007-10-31T13:41:13.000Z"
updated: "2007-10-31T14:50:49.000Z"
replies: 5
views: 571
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/javascript/166007-problem-med-javascript-i-argument"
---

# problem med javascript i argument

## #1 — Moonman, 2007-10-31T13:41Z

Skickar in en massa data som argument till en funktion som använder innerHTML. Får inte riktigt till det med ' & " så vad gör jag för fel?

```
onclick="javascript:
if(document.login.log_remember.checked)
{
showHelp('Genom att använda denna funktion godkänner du att en cookie lagras på din dator. 
Cookien används enbart för att identifiera dig och du kommer att vara inloggad på denna dator tills du klickar på logga ut.
<p />
<button onclick="javascript:document.getElementById('help').style.visibility = 'hidden'">Ok</button>')
}"
```

Permalänk: https://www.webforum.nu/p/166007

## #2 — nitro2k01, 2007-10-31T13:50Z

Gee! Skapa en array med alla hjälptexter i, kopplade till elementets id, det är vad jag säger. Om du absolut måste använda inline-kod, så bör du ersätta " med &quot;. (La till runt "cookien" för att exemplifiera)
Dessutom ska du aldrig ha javascript: i ett onclick-event.

```
onclick="
if(document.login.log_remember.checked)
{
showHelp('Genom att använda denna funktion godkänner du att en cookie lagras på din dator. 
&nbsp;Cookien&nbsp; används enbart för att identifiera dig och du kommer att vara inloggad på denna dator tills du klickar på logga ut.
<p />
<button onclick=&quot;document.getElementById(\'help\').style.visibility = \'hidden\'&quot;>Ok</button>')
}"
```

Edit, nu såg jag hur koden faktiskt såg ut. Du måste även escape de inre apostroferna. Inte pga HTML utan pga du använder apostrofer inom apostrofer i javascript.
Edit 2: Dönickvarning på mig idag. Ja råkade skriva nbsp iställer för quot.

Permalänk: https://www.webforum.nu/p/2045496

## #3 — Fredde Mannen, 2007-10-31T13:51Z

du måste escapa special tecken som ' " &

' = \\'
& = \\&
" = \\"

Permalänk: https://www.webforum.nu/p/2045497

## #4 — nitro2k01, 2007-10-31T14:00Z

> **Fredde Mannen skrev:**
>
> du måste escapa special tecken som ' " &
> 
> ' = \\'
> & = \\&
> " = \\"

Fel. ' ska bara escapas som \\' om det förekommer inom en js-sträng som redan är omsluten av ' och '.
" ska bara escapas som \\" om det förekommer inom en js-sträng som redan är omsluten av " och ". " måste escapas som &quot; när den används inuti ett (X)HTML-attribut, t ex onclick.
& ska *aldrig* escapas som \\&. & bör dock escapas som &amp; överallt i ett XHTML-dokument, inklusive i en egenskap som onclick eller value, om dokumentet ska vara giltig XHTML.

Permalänk: https://www.webforum.nu/p/2045499

## #5 — Fredde Mannen, 2007-10-31T14:06Z

så sant så sant.. läste bara det på w3school för ett tag sedan ... :)

Permalänk: https://www.webforum.nu/p/2045500

## #6 — Moonman, 2007-10-31T14:50Z

Tusen tack alla!

Permalänk: https://www.webforum.nu/p/2045514

---

Tråden på webben: https://www.webforum.nu/amne/javascript/166007-problem-med-javascript-i-argument
