---
title: "Skicka redan ifylld formulärdata i hidden fält"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/102467-skicka-redan-ifylld-formulärdata-i-hidden-fält"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "mangan"
published: "2004-04-27T20:58:38.000Z"
updated: "2004-04-28T16:09:29.000Z"
replies: 9
views: 346
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/102467-skicka-redan-ifylld-formulärdata-i-hidden-fält"
---

# Skicka redan ifylld formulärdata i hidden fält

## #1 — mangan, 2004-04-27T20:58Z

Hej!
Sitter med ett litet problem som jag inte fattar vad jag gör för fel på. Är säkert något skitfel som jag har gjort. Problemet är detta:
Jag har ett formulär som jag postar till en funktion som kollar mejlet och sedan postar det. Nu vill jag ta ett av dom ifyllda värdena och kopiera detta till ett hidden-fält jag har i mitt formulär innan det postas. Jag har provat att lägga in följande i kontrollfunktionen innan den returnerar:

```
function isMailReady(form) {
var passed = false;
.
.
.
form.namn.value = form.realname.value; // här tilldelar jag hidden-fältet värdet 
return passed;
}
```

Om jag provar att skriva ut form.namn.value med alert() så får jag rätt värde men när det postas så följer inte värdet med utan blir en tom sträng bara. Så här ser de två "drabbade" fälten ut:

```
 <input name="realname" type="text" id="namn" tabindex="2" size="30">
<input type="hidden" name="namn" value="">
```

Kan inte se vad jag gör fel. Hjälp någon?

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

## #2 — Peter S, 2004-04-27T21:23Z

Svårt att säga vad du gör för fel, men här har du ett fungerande exempel som du kanske kan utgå från:

```
<script type="text/javascript">

function f(fObj) {
    fObj.namn.value = fObj.realname.value;

    return true;
}

</script>

<form action="foo.html" onsubmit="return f(this)">
    <input type="text" name="realname">
    <input type="hidden" name="namn">
    <input type="submit">
</form>
```

 :)

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

## #3 — mangan, 2004-04-28T07:06Z

Ser exakt likadant ut förutom att du utlämnat kontrollen av fälten. Någon annan?

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

## #4 — Peter S, 2004-04-28T09:06Z

Som sagt, det är svårt att peka på någonting specifikt när du inte visar all relevant kod. Formulärkoden och isMailReady()-funktionen i sin helhet kanske kan hjälpa.

 :)

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

## #5 — nitro2k01, 2004-04-28T13:03Z

Kanske stör lite att en input har samma name= som den andra har id=?
Alltså att webbläsaren tolkar form.name och form.realname som samma kontroll eftersom id= har högre prioritet än name=.

```
form.namn.value = form.realname.value;
```

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

## #6 — mangan, 2004-04-28T13:53Z

Ja, man kan ju tycka det. Ändrade på namnen men det funkar fortfarande inte. Provade att sätta ett value på hidden-fältet och det följde iaf med oförändrat till mottagarsidan. Här kommer hela kontroll funktionen:

```
<SCRIPT LANGUAGE="JavaScript">
function fixElement(element, message) {
alert(message);
element.focus();
}
function isMailReady(form) {
var passed = false;
if (form.Kundnummer.value == "") {
fixElement(form.Kundnummer, "Kundnummer ej ifyllt.");
}
else if (form.email.value.indexOf("@") == -1 ||
form.email.value.indexOf(".") == -1) {
fixElement(form.email, "E-postadress ej ifylld / ej korrekt. Var god kontrollera!");
}
else if (form.Referens.value == "") {
fixElement(form.Referens, "Referensperson ej ifylld.");
}
else {
passed = true;
}
form.namn.value = form.realname.value;
return passed;
}
</SCRIPT>
```

och hur fälten ser ut nu:

```
<td colspan="2" bgcolor="#0079bf"><input name="realname" type="text" id="realname" tabindex="2" size="30">
<!-- Detta är det gömda fält som skall få samma värde som fältet ovan "realname" -->
<input type="hidden" name="namn" id="namn" value="test">
```

Formuläret skickar jag till en php-sida där jag bara kör var_dump() på POST-datan. Fattar inte varför det inte funkar.........\*suck\*

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

## #7 — Peter S, 2004-04-28T14:46Z

```
<SCRIPT LANGUAGE="JavaScript">
function fixElement(element, message) {
    alert(message);
    element.focus();
}
function isMailReady(form) {
    var passed = false;

    if (form.Kundnummer.value == "") {
	fixElement(form.Kundnummer, "Kundnummer ej ifyllt.");
    }

    else if (form.email.value.indexOf("@") == -1 ||
	form.email.value.indexOf(".") == -1) {
	fixElement(form.email, "E-postadress ej ifylld / ej korrekt. Var god kontrollera!");
    }

    else if (form.Referens.value == "") {
	fixElement(form.Referens, "Referensperson ej ifylld.");
    }

    else {
	passed = true;
    }

    form.namn.value = form.realname.value;

    return passed;
}
</SCRIPT>

<form action="" onsubmit="return isMailReady(this)">
    <input name="Kundnummer">
    <input name="Referens">
    <input name="email">
    <input name="realname" type="text" id="realname" tabindex="2" size="30">
    <input type="hidden" name="namn" id="namn" value="">
    <input type="submit">
</form>
```

 :)

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

## #8 — mangan, 2004-04-28T15:49Z

Vad menar du Peter?

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

## #9 — nitro2k01, 2004-04-28T15:51Z

Peter menar nog att du har gjort något fel i koden som inte direkt syns. Här har han skrivit en kod som fungerar, som du kan använda och lite grann börja om från scratch.

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

## #10 — Peter S, 2004-04-28T16:09Z

Ja, ovanstående exempel fungerar. Sedan kan du lägga till din resterande formulärkod.

 :)

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

---

Tråden på webben: https://www.webforum.nu/amne/javascript/102467-skicka-redan-ifylld-formulärdata-i-hidden-fält
