---
title: "Hur återställs textfältsborder?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/95279-hur-återställs-textfältsborder"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "J.N."
published: "2004-01-20T14:09:02.000Z"
updated: "2004-01-22T08:12:32.000Z"
replies: 6
views: 331
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/95279-hur-återställs-textfältsborder"
---

# Hur återställs textfältsborder?

## #1 — J.N., 2004-01-20T14:09Z

HEJ!

Jag har slagit min hjärna ihop med några inlägg på WF och fått ihop denna funktion för att ändra bakgrundsfärg och border på ett textfält vid klick i en radiobutton:

```
function en_dis(rgb,tf){
	form.mangd.style.background = rgb;
	if (rgb != ""){ rgb = '2px dashed ' +rgb} else{ rgb="2px solid";}
	form.mangd.style.border = rgb;
	form.mangd.disabled = tf;
}

kallas via OnClick="en_dis('#eeeeee',true)
```

Min fråga är:

Hur får jag en korrekt återställning av '2px solid' till det det var från början? Nu har jag endast gissat ovanstående, vilket är fel, bordern är inte solid.
Att sätta rgb="" går inte heller, för då blir det ingen border alls.

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

## #2 — Jojoxx, 2004-01-20T19:38Z

Ett litet exempel;

```
<script type="text/javascript">
function en_dis(obj,checked){
	obj.style.background=(checked)?"#eeeeee":"";
	obj.style.border=(checked)?"dashed 2px":"solid 2px";
	obj.disabled=!checked;
}
</script>

<form>
<input type="text" id="mangd" name="mangd" style="border:solid 2px" disabled="disabled" />
<input type="checkbox" onclick="en_dis(document.getElementById('mangd'),this.checked)" />
</form>
```

Var det ungefär så du tänkt dig?

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

## #3 — J.N., 2004-01-21T09:29Z

HEJ!

Nja, nästan, det ska vara en radiobutton istället, men det är en bit på väg.

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

## #4 — Jojoxx, 2004-01-21T16:00Z

Ok, trodde du hade skrivit fel. En radio-knapp måste du ha i grupp om minst 2 ifall du skall kunna växla mellan dem.

```
<script type="text/javascript">
function en_dis(obj,checked){
	obj.style.background=(checked)?"#eeeeee":"";
	obj.style.border=(checked)?"dashed 2px":"solid 2px";
	obj.disabled=!checked;
}
</script>

<form>
<input type="text" id="mangd" name="mangd" style="border:solid 2px" disabled="disabled" />
<input type="radio" name="mangdx" onclick="en_dis(document.getElementById('mangd'),this.checked)" />
<input type="radio" name="mangdx" onclick="en_dis(document.getElementById('mangd'),!this.checked)" checked="checked" />
</form>
```

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

## #5 — J.N., 2004-01-21T16:20Z

HEJ!

Nja, en ska inte tolkas som en, det ska tolkas som en :L 
(Om det var det du blev lurad av?)

Men, det löser inte hela mitt problem ändå, för det är biten med 'solid 2px' som jag inte vill ha, där ska stå 'default', dvs jag vet ju inte hur användaren har ställt in sin webbläsare, vilket färgschema de har tex. Då kan jag inte skriva en 'solid 2px'-linje runt, jag vill återställa den linje som jag skrev över med 'dashed 2px'.

Är du/ni med?

En undran till:
Vad skiljer din kod från min, förutom att du kodar mycket rättare än mig? För mig verkar det som att det fungerar likadant?
Background, border och disabled fungerar som hos mig, i alla fall i IE?

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

## #6 — Jojoxx, 2004-01-21T18:07Z

> **J.N. skrev:**
>
> ...där ska stå 'default'...

Istället för att skriva över egenskaper för objektet (text-fältet) så kan du tilldela det en klass. Sedan anger du egenskaperna för klassen istället. När du sedan plockar bort klasstillhörigheten får det tillbaks sitt ursprungliga utseende.

```
<style type="text/css">
.markerad { background-color:#eeeeee; border:solid black 2px; }
</style>
<script type="text/javascript">
function en_dis(obj,checked){
	obj.className=(checked)?"markerad":"";
	obj.disabled=!checked;
}
</script>

<form>
<input type="text" id="mangd" name="mangd" disabled="disabled" />
<input type="radio" name="mangdx" onclick="en_dis(document.getElementById('mangd'),this.checked)" />
<input type="radio" name="mangdx" onclick="en_dis(document.getElementById('mangd'),!this.checked)" checked="checked" />
</form>
```

> **J.N. skrev:**
>
> Vad skiljer din kod från min...

Ett lite annat sätta att tänka på bara. Jag skickar med 2 parametrar till funktionen. Dels vilket objekt som skall påverkas, dels ett värde (true/false) som styr ifall objeket skall påverkas på ena eller andra sättet.

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

## #7 — J.N., 2004-01-22T08:12Z

HEJ!

Tack, fungerar utmärkt.

Okej jag förstår ditt tankesätt, när jag sätter mina egenskaper blir de 'hårdkodade', det är fel arbetssätt helt enkelt.

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

---

Tråden på webben: https://www.webforum.nu/amne/javascript/95279-hur-återställs-textfältsborder
