---
title: "uppdatera formulärvariabler onSubmit()?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/48206-uppdatera-formulärvariabler-onsubmit"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "Diggin"
published: "2002-07-19T08:49:41.000Z"
updated: "2002-07-20T09:48:18.000Z"
replies: 1
views: 290
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/48206-uppdatera-formulärvariabler-onsubmit"
---

# uppdatera formulärvariabler onSubmit()?

## #1 — Diggin, 2002-07-19T08:49Z

Jag har några SELECT boxar som jag vill ändra värdena i vid onSubmit().

```
onSubmit="return changeSpecValue(arrItemsValue1, arrItemsValue2);"
```

 

Dock blir det nåt strul när variablerna ska sättas. I nedanståend kod har proj och spec fått korrekta värden men när jag försöker sätta dom får **document.form.varname.value värdet undefined**.

```
 function changeSpecValue(ValueProj, ValueSpec)
{
  if(!document.myChoices.thirdChoice.value)
    {
      document.myChoices.thirdChoice.value = 0;
    }
  if(document.myChoices.secondChoice.value != 0){
    var proj = ValueProj[document.myChoices.secondChoice.value];
    document.myChoices.secondChoice.value = proj;
  }
  if(document.myChoices.thirdChoice.value != 0){
    var spec = ValueSpec[document.myChoices.thirdChoice.value];
    document.myChoices.thirdChoice.value = spec;
  }

//SPÅRUTSKRIFT
  alert(document.myChoices.secondChoice.value + "-" + proj + ", " + document.myChoices.thirdChoice.value + "-" + spec);
  return true;
}
```

Nån som ser problemet?

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

## #2 — Jojoxx, 2002-07-20T09:48Z

Jag tycker det ser ut som du blandar variabel/array/objekt-referesner hejvilt.

När du anropar funktionen *changeSpecValue* gör du det med 2 argument, i exemplet skickar du med arrItemsValue1 och  arrItemsValue2. Vad är detta? Är det variabler eller arrayer från någon annan del av sidan? Det skulle även kunna vara objekt-referenser till \<select\>-objekt eftersom IE är lite slaphänt och tillåter det mesta, men i så fall bör du använda hela namnet på objektet (document.form.osv). variablen proj verkar du i alla fall få en sträng i eftersom du försöker sätta egenskapen ".value" till detta värde. Men här dyker en annan fråga upp. Du skriver att du vill byta värde på några select-boxar. Select-boxar är uppbyggda med ett index, där varje \<option\> i \<select\>-boxen har ett indexnummer från 0 och uppåt. För att markera ett värde i en \<select\>-box (ej multiple) använder du document.formnamn.selectnamn.selectedIndex=X (där X är index-numret). För att byta värde på en \<option\> använder du document.formnamn.selectnamn\[X\].value="värde" och för att byta text på \<option\> använer du document.formnamn.selectnamn\[X\].text="text" (X är fortfarande index-numret för aktuell \<option\>).

Sist men icke minst. Välkommen till wF :)

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

---

Tråden på webben: https://www.webforum.nu/amne/javascript/48206-uppdatera-formulärvariabler-onsubmit
