Avatar billede ameq Nybegynder
08. februar 2004 - 21:24 Der er 20 kommentarer og
1 løsning

hent value ned i en tekstboks fra en anden tekstboks

<script>
//et stump kode fra scriptet
    var str_name;
    str_name = option_form.options_name.value;
    formen.[str_name].value = color;
</script>

jeg har en form som hedder option_form og en som hedder formen

i option_form er det en tekstboks som hedder options_name der kommer ved hjælp af det andet script kommer der til at stå andet på en tekstboks som er i formen... =)

så nu vil jeg lige hørt om hvordan jeg henter en værdig fra en tekstboks over i en str som jeg kan bruger i mit script =)
Avatar billede skovenborg Nybegynder
08. februar 2004 - 23:33 #1
måske:
var str = document.option_form.options_name.value;
Avatar billede ameq Nybegynder
09. februar 2004 - 09:46 #2
så har jeg rettet det... men nej

men jeg tror det der i den her fejl er "formen.[str_name].value = color;" for hvis jeg udkommentere den så virker det... - den sidste del
Avatar billede fennec Nybegynder
09. februar 2004 - 10:42 #3
Jeg har også ønsket mig at kunne kalde elementer på den måde, men det kan man ikke (hvad jeg ved af). Du kan derimod bruge getElementById metoden.

<script>
    var str_name;
    str_name = option_form.options_name.value;
    document.getElementById(str_name).value = color;
</script>
Avatar billede skovenborg Nybegynder
09. februar 2004 - 12:10 #4
hvis du vil undgå getElementById() kan du bare skrive:
formen.elements[str_name].value;

Det skulle gerne være sådan du vil ha' det ;-)
Avatar billede ameq Nybegynder
09. februar 2004 - 13:28 #5
tak skovenborg
virker det også i NC?
Avatar billede skovenborg Nybegynder
09. februar 2004 - 13:33 #6
Mener du ikke NS (Netscape)???

Jo, men du skal nok lige tilføje et document. før formen (som jeg regner med er dit form-navn:
var str_name = document.option_form.options_name.value;
document.formen.elements[str_name].value = color;
Avatar billede ameq Nybegynder
09. februar 2004 - 13:49 #7
yes =)

og takker
Avatar billede skovenborg Nybegynder
09. februar 2004 - 13:51 #8
og takker for point :-)
Avatar billede ameq Nybegynder
23. februar 2004 - 15:28 #9
hey igen
nu har jeg det samme problem

function beregn(antal){
var kaffe_pris = 12;
var str_name = 'kaffe';
document.formen.elements[str_name]_total.value = elements[str_name]_pris*antal;
}

min ide er at man bare kan skrive str_name når man kalder på funktion, så man ikke skal skrive alt for meget =)

"str_name" skal så være en værdi fra funktion...

men kan man det?
Avatar billede fennec Nybegynder
23. februar 2004 - 15:35 #10
document.formen.elements[str_name+"_total"].value = elements[str_name+"_pris"]*antal;
Avatar billede ameq Nybegynder
23. februar 2004 - 15:47 #11
tak tester lige, hvis det viker må jeg li lave et nut spm... så du kan få nolge point
Avatar billede ameq Nybegynder
23. februar 2004 - 15:54 #12
hm den laver en fejl, noget med elements undefind, min kode ser sådan her ud

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<script language="javascript" type="text/javascript">
<!--
function beregn(antal){
var kaffe_pris = 12;
var str_name = 'kaffe';
document.formen.elements[str_name+"_total"].value = elements[str_name+"_pris"]*antal;
}
-->
</script>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<form action="#" method="post" name="formen">
<input name="kaffe_antal" size="1" class="input_box" onBlur="beregn(this.name,this.value)">
<input name="kaffe_total" class="input_box" size="3">
</form>
<body>
</body>
</html>
Avatar billede fennec Nybegynder
23. februar 2004 - 16:03 #13
document.formen.elements[str_name+"_total"].value = document.formen.elements[str_name+"_pris"]*antal;

der skal lige "document.formen." med.....
Avatar billede ameq Nybegynder
23. februar 2004 - 20:36 #14
jeg får "NaN" i feltet kaffe_total
Avatar billede fennec Nybegynder
24. februar 2004 - 08:33 #15
du skal have lavet dine felter om til tal med parseInt() eller parseFloat() afhængig af om det er komma-tal.

parseInt(document.formen.elements[str_name+"_pris"])*parseInt(antal)
Avatar billede ameq Nybegynder
24. februar 2004 - 10:29 #16
okey ?
så mit script ser sådan her ud?

function beregn(antal){
var kaffe_pris = 12
var str_name = 'kaffe'
  document.formen.elements[str_name+"_total"].value = parseFloat(document.formen.elements[str_name+"_pris"])*parseFloat(antal);
  //alert(str_name+"_pris");//document.formen.elements[]
}

for det virker eller ikke rigtig
Avatar billede fennec Nybegynder
24. februar 2004 - 10:46 #17
Der mangler da også en .value på [str_name+"_pris"].
Prøv evt at lave en alert på alle felter inden du laver dem om til tal, for at se hvilke data de returnere.
Avatar billede ameq Nybegynder
24. februar 2004 - 10:52 #18
jeg har da ikke et felt som hedder kaffe_pris... jeg vil have den fra var.
kan man det?
Avatar billede ameq Nybegynder
24. februar 2004 - 11:06 #19
det skal nok også lige skrive at jeg har lavet et felt som hedder kaffe_pris
Avatar billede fennec Nybegynder
24. februar 2004 - 11:08 #20
har kikket lidt mere på din kode, og der er flere fejl. Det er vist hurtigere hvis du får dette tilpasset til det du ønsker....

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<script language="javascript" type="text/javascript">
<!--
function beregn(){
var pris = document.formen.elements["pris"].value;
var antal = document.formen.elements["antal"].value;
document.formen.elements["total"].value = parseInt(pris)*parseInt(antal);
}
-->
</script>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<form action="#" method="post" name="formen">
<input type="text" name="pris" size="4">
<input type="text" name="antal" onblur="beregn()" size="4">
<input type="text" name="total" size="4">
</form>
<body>
</body>
</html>
Avatar billede ameq Nybegynder
24. februar 2004 - 13:44 #21
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester