Avatar billede Slettet bruger
30. maj 2002 - 13:11 Der er 19 kommentarer og
1 løsning

sammenlægning af input

Hejsa...

jeg har x antal input felter, hvori man KUN kan skrive tal.

Jeg ville så godt ha et script som to indholdet at input felt a og gangede det med x, og skrev det i et andet felt.

Hvordan gør jeg det, når der jo kommer input fra flere end 1 felt?

Det skulle meget gerne være "on the fly"...
Avatar billede yellow Nybegynder
30. maj 2002 - 13:16 #1
Hmm, ikke helt forstået?

Kan du give et eksempel på hvordan siden kunne se ud med evt. 3 input felter, deres input, og hvilket output du gerne vil ha?
Avatar billede Slettet bruger
30. maj 2002 - 13:17 #2
Jow... 2 sec.. :)
Avatar billede Slettet bruger
30. maj 2002 - 13:22 #3
<HTML>
  <HEAD>
    <TITLE>Konkurrence Butikken.dk</TITLE>

<LINK rel="stylesheet" type="text/css" href="../style.css";>

<script>
tegn = "1234567890"; //De tilladte tegn (med små bogstaver)

function tjekIndtast() {
kc = event.keyCode;
if (kc == 37 || kc == 38 || kc == 39 || kc == 40 || kc == 8 || kc == 35 || kc == 36 || kc == 46)
return true;
kcfcc = String.fromCharCode(kc);
fundet = false;
for (i = 0; i < tegn.length; i++) {
if (tegn.charAt(i) == kcfcc) {
fundet = true;
break;
}
}
if (fundet)
return true;
else
return false;
}
</script>

  </HEAD>

<body>
<center>

<FORM METHOD="POST" ACTION="<? echo $PHP_SELF ?>">


Antal: <INPUT name="doggybankbrown" size=5 value="0" class="felt" onKeyDown="return tjekIndtast();"><br>


Antal: <INPUT name="doggybankcream" size=5 value="0" class="felt" onKeyDown="return tjekIndtast();"><br>


Antal: <INPUT name="doggybankgrey" size=5 value="0" class="felt" onKeyDown="return tjekIndtast();"><br>


Antal: <INPUT name="doggybankwhite" size=5 value="0" class="felt" onKeyDown="return tjekIndtast();"><br>


Antal: <INPUT name="piggybankorange" size=5 value="0" class="felt" onKeyDown="return tjekIndtast();"><br>


Antal: <INPUT name="piggybankrosa" size=5 value="0" class="felt" onKeyDown="return tjekIndtast();"><br>


Antal: <INPUT name="piggybankwhite" size=5 value="0" class="felt" onKeyDown="return tjekIndtast();"><br>


Antal: <INPUT name="lys_smaa" size=5 value="0" class="felt" onKeyDown="return tjekIndtast();"> - <i>Minimum 5 stk.</i><br>


Antal: <INPUT name="lys_store" size=5 value="0" class="felt" onKeyDown="return tjekIndtast();"> - <i>Minimum 5 stk.</i><br>

Total: <INPUT name="total" size=5 class="felt"><br>
<br>

<INPUT TYPE="submit" VALUE="Send" name="send" class="knap"><br>
<INPUT TYPE="reset" VALUE="Ryd felter" class="knap"></td>

</form>


  </BODY>
</HTML>
Avatar billede Slettet bruger
30. maj 2002 - 13:24 #4
Sådan...

Når man indtaster et antal i en af dem skal den gange det med 76 og skrive det i total feltet.

men indtaster man et antal i en anden, skal den jo gange det med 53 og ligge det til total.

Og det skal jo også virke den modsatte vej.. :)

Kan du se hvad jeg mener?
Avatar billede senj Nybegynder
30. maj 2002 - 13:32 #5
Jeg er ikke helt med???

Kig lige på dette og sig om det er noget i den stil?

<HTML>
  <HEAD>
    <TITLE>Konkurrence Butikken.dk</TITLE>

<LINK rel="stylesheet" type="text/css" href="../style.css";>
<script>
tegn = "1234567890"; //De tilladte tegn (med små bogstaver)
function tjekIndtast() {
kc = event.keyCode;
if (kc == 37 || kc == 38 || kc == 39 || kc == 40 || kc == 8 || kc == 35 || kc == 36 || kc == 46)
return true;
kcfcc = String.fromCharCode(kc);
fundet = false;
total();
for (i = 0; i < tegn.length; i++) {
if (tegn.charAt(i) == kcfcc) {
fundet = true;
break;
}
}
if (fundet)
return true;
else
return false;
}

function total()
{
var total = 0;
total = total + parseInt(document.theForm.doggybankbrown.value);
total = total + parseInt(document.theForm.doggybankcream.value);
total = total + parseInt(document.theForm.doggybankgrey.value);
total = total + parseInt(document.theForm.doggybankwhite.value);
document.theForm.total.value=total;
}
</script>
  </HEAD>
<body>
<center>
<FORM METHOD="POST" name = "theForm" ACTION="<? echo $PHP_SELF ?>">
Antal: <INPUT name="doggybankbrown" size=5 value="0" class="felt" onchange="return tjekIndtast();" onKeyDown="return tjekIndtast();"><br>
Antal: <INPUT name="doggybankcream" size=5 value="0" class="felt" onchange="return tjekIndtast();" onKeyDown="return tjekIndtast();"><br>
Antal: <INPUT name="doggybankgrey" size=5 value="0" class="felt"  onchange="return tjekIndtast();" onKeyDown="return tjekIndtast();"><br>
Antal: <INPUT name="doggybankwhite" size=5 value="0" class="felt" onchange="return tjekIndtast();" onKeyDown="return tjekIndtast();"><br>
Antal: <INPUT name="piggybankorange" size=5 value="0" class="felt" onchange="return tjekIndtast();" onKeyDown="return tjekIndtast();"><br>
Antal: <INPUT name="piggybankrosa" size=5 value="0" class="felt" onKeyDown="return tjekIndtast();"><br>
Antal: <INPUT name="piggybankwhite" size=5 value="0" class="felt" onKeyDown="return tjekIndtast();"><br>
Antal: <INPUT name="lys_smaa" size=5 value="0" class="felt" onKeyDown="return tjekIndtast();"> - <i>Minimum 5 stk.</i><br>
Antal: <INPUT name="lys_store" size=5 value="0" class="felt" onKeyDown="return tjekIndtast();"> - <i>Minimum 5 stk.</i><br>
Total: <INPUT name="total" size=5 class="felt"><br>
<br>
<INPUT TYPE="submit" VALUE="Send" name="send" class="knap"><br>
<INPUT TYPE="reset" VALUE="Ryd felter" class="knap"></td>
</form>
  </BODY>
</HTML>
Avatar billede ras2000 Nybegynder
30. maj 2002 - 13:51 #6
Her er et script der kan gange et felt med tolv og skrive det i et andet felt.
<html><head><script>
</script></head><body>
<form name="formen">
indtast et tal her: <input type="text" name="felt1" onkeyup="document.formen.felt2.value = this.value*12"><br>
og her får du det ganget med tolv. <input type="text" name="felt2">
</body></html>
Hvis du vil have et andet tal en tolv, kan du ændre det der hvor der står:

this.value*12
Avatar billede Slettet bruger
30. maj 2002 - 13:59 #7
Ja.. faktisk det som du har i nr 2 kommentar. Men hvis man skriver noget i 2 felter hva så?

Det første du har skrevet, funker ikke? Den låser en gang i mellem, og den ganger ikke noget med noget..
Avatar billede ras2000 Nybegynder
30. maj 2002 - 14:02 #8
Æh, jeg har kun skrevet en ting. Der er to felter. Den ene skriver man i, den anden får man resultatet i.
Avatar billede senj Nybegynder
30. maj 2002 - 14:06 #9
Denne gange som eks. med 50 i det første felt og 40 i nr 2 osv osv.

<HTML>
  <HEAD>
    <TITLE>Konkurrence Butikken.dk</TITLE>

<LINK rel="stylesheet" type="text/css" href="../style.css";>
<script>
tegn = "1234567890"; //De tilladte tegn (med små bogstaver)
function tjekIndtast()
{
total();
}

function total()
{
var total = 0;
total = total + (parseInt(document.theForm.doggybankbrown.value)*50);
total = total + (parseInt(document.theForm.doggybankcream.value)*40);
total = total + (parseInt(document.theForm.doggybankgrey.value)*30);
total = total + (parseInt(document.theForm.doggybankwhite.value)*20);
document.theForm.total.value=total;
}
</script>
  </HEAD>
<body>
<center>
<FORM METHOD="POST" name = "theForm">
Antal: <INPUT type = "text" name="doggybankbrown" size=5 value = "0" onchange="return tjekIndtast();"><br>
Antal: <INPUT type = "text" name="doggybankcream" size=5 value = "0" onchange="return tjekIndtast();"><br>
Antal: <INPUT type = "text" name="doggybankgrey" size=5 value = "0" onchange="return tjekIndtast();"><br>
Antal: <INPUT type = "text" name="doggybankwhite" size=5 value = "0" onchange="return tjekIndtast();"><br>
Antal: <INPUT type = "text" name="piggybankorange" size=5 value = "0" onchange="return tjekIndtast();"><br>
Antal: <INPUT type = "text" name="piggybankrosa" size=5 value = "0" onchange="return tjekIndtast();"><br>
Antal: <INPUT type = "text" name="piggybankwhite" size=5 value = "0" onchange="return tjekIndtast();"><br>
Antal: <INPUT type = "text" name="lys_smaa" size=5 value="0"  onchange="return tjekIndtast();"> - <i>Minimum 5 stk.</i><br>
Antal: <INPUT type = "text" name="lys_store" size=5 value="0" onchange="return tjekIndtast();"> - <i>Minimum 5 stk.</i><br>
Total: <INPUT type = "text" name="total" size=5 ><br>
<br>
<INPUT TYPE="submit" VALUE="Send" name="send" class="knap"><br>
<INPUT TYPE="reset" VALUE="Ryd felter" class="knap"></td>
</form>
  </BODY>
</HTML>
Avatar billede Slettet bruger
30. maj 2002 - 14:16 #10
Ja, det ser ud til at funke som det skal.. :)

men, eh, kan du ikke lige smide tjek scriptet ind på, jeg kan ikke lige samle det ordenligt..hehe..
Avatar billede senj Nybegynder
30. maj 2002 - 14:17 #11
function tjekIndtast()
{
//kc = event.keyCode;
//if (kc == 37 || kc == 38 || kc == 39 || kc == 40 || kc == 8 || kc == 35 || kc == 36 || kc == 46)
//return true;
//kcfcc = String.fromCharCode(kc);
//fundet = false;
total();
//for (i = 0; i < tegn.length; i++) {
//if (tegn.charAt(i) == kcfcc) {
//fundet = true;
//break;
//}
//}
//if (fundet)
//return true;
//else
//return false;
}
Avatar billede Slettet bruger
30. maj 2002 - 14:17 #12
ras2000> Ja, jeg må ha set forkert før, jeg troede de sidste 2 var dine, men det er altså som senj har lavet det, det skal være.. :)
Avatar billede Slettet bruger
30. maj 2002 - 14:18 #13
eh? ja, hmm..
Avatar billede Slettet bruger
30. maj 2002 - 14:18 #14
Kan du ikke lige smide det ind sammen med det andet du har lavet?

PFT! :)
Avatar billede senj Nybegynder
30. maj 2002 - 14:19 #15
one sek
Avatar billede senj Nybegynder
30. maj 2002 - 14:24 #16
Jeg har ændret din check funktion en smule - se lige om det er noget du kan bruge.

<HTML>
  <HEAD>
    <TITLE>Konkurrence Butikken.dk</TITLE>
<LINK rel="stylesheet" type="text/css" href="../style.css";>
<script>
function val_fornumber(formfields)
{
    splitname = formfields.split(",");
    var docsecond = splitname[0];
    var i;
   
    for(i = 1; i < splitname.length; i++)
    {
        document.forms[docsecond].elements[splitname[i]].style.backgroundColor="#FFFFFF";
        document.forms[docsecond].elements[splitname[i]].style.color ="#000000";
   
        if(isNaN(document.forms[docsecond].elements[splitname[i]].value) || document.forms[docsecond].elements[splitname[i]].value == "")
        {
        document.forms[docsecond].elements[splitname[i]].style.backgroundColor="#396DA5";
        document.forms[docsecond].elements[splitname[i]].style.color ="#FFFFFF";
        alert("Feltet skal have en talværdi");
        document.forms[docsecond].elements[splitname[i]].focus();
                document.forms[docsecond].elements[splitname[i]].select();
        return false;
        }
    }
    total();
    return true;
}
function tjekIndtast()
{
    val_fornumber("theForm,doggybankbrown,doggybankcream,doggybankgrey,doggybankwhite")
}
function total()
{
var total = 0;
total = total + (parseInt(document.theForm.doggybankbrown.value)*50);
total = total + (parseInt(document.theForm.doggybankcream.value)*40);
total = total + (parseInt(document.theForm.doggybankgrey.value)*30);
total = total + (parseInt(document.theForm.doggybankwhite.value)*20);
document.theForm.total.value=total;
}
</script>
  </HEAD>
<body>
<center>
<FORM METHOD="POST" name = "theForm">
Antal: <INPUT type = "text" name="doggybankbrown" size=5 value = "0" onchange="return tjekIndtast();"><br>
Antal: <INPUT type = "text" name="doggybankcream" size=5 value = "0" onchange="return tjekIndtast();"><br>
Antal: <INPUT type = "text" name="doggybankgrey" size=5 value = "0" onchange="return tjekIndtast();"><br>
Antal: <INPUT type = "text" name="doggybankwhite" size=5 value = "0" onchange="return tjekIndtast();"><br>
Antal: <INPUT type = "text" name="piggybankorange" size=5 value = "0" onchange="return tjekIndtast();"><br>
Antal: <INPUT type = "text" name="piggybankrosa" size=5 value = "0" onchange="return tjekIndtast();"><br>
Antal: <INPUT type = "text" name="piggybankwhite" size=5 value = "0" onchange="return tjekIndtast();"><br>
Antal: <INPUT type = "text" name="lys_smaa" size=5 value="0"  onchange="return tjekIndtast();"> - <i>Minimum 5 stk.</i><br>
Antal: <INPUT type = "text" name="lys_store" size=5 value="0" onchange="return tjekIndtast();"> - <i>Minimum 5 stk.</i><br>
Total: <INPUT type = "text" name="total" size=5 ><br>
<br>
<INPUT TYPE="submit" VALUE="Send" name="send" class="knap"><br>
<INPUT TYPE="reset" VALUE="Ryd felter" class="knap"></td>
</form>
  </BODY>
</HTML>
Avatar billede Slettet bruger
30. maj 2002 - 14:28 #17
jaja.. skide smart.. :)

kan du lave en alert så man ikke kan trykke ok hvis der er bogstaver i et felt?
Avatar billede senj Nybegynder
30. maj 2002 - 14:31 #18
Her bliver send knappen disabled hvis der er ikke er tal i felterne.

<HTML>
  <HEAD>
    <TITLE>Konkurrence Butikken.dk</TITLE>
<LINK rel="stylesheet" type="text/css" href="../style.css";>
<script>
function val_fornumber(formfields)
{
    splitname = formfields.split(",");
    var docsecond = splitname[0];
    var i;
   
    for(i = 1; i < splitname.length; i++)
    {
        document.forms[docsecond].elements[splitname[i]].style.backgroundColor="#FFFFFF";
        document.forms[docsecond].elements[splitname[i]].style.color ="#000000";
   
        if(isNaN(document.forms[docsecond].elements[splitname[i]].value) || document.forms[docsecond].elements[splitname[i]].value == "")
        {
        document.forms[docsecond].elements[splitname[i]].style.backgroundColor="#396DA5";
        document.forms[docsecond].elements[splitname[i]].style.color ="#FFFFFF";
        alert("Feltet skal have en talværdi");
        document.forms[docsecond].elements[splitname[i]].focus();
        document.forms[docsecond].elements[splitname[i]].select();
        document.theForm.send.disabled=true;
        return false;
        }
    }
    total();
    document.theForm.send.disabled=false;
    return true;
}
function tjekIndtast()
{
    val_fornumber("theForm,doggybankbrown,doggybankcream,doggybankgrey,doggybankwhite,piggybankorange,piggybankrosa,piggybankwhite")
}
function total()
{
var total = 0;
total = total + (parseInt(document.theForm.doggybankbrown.value)*50);
total = total + (parseInt(document.theForm.doggybankcream.value)*40);
total = total + (parseInt(document.theForm.doggybankgrey.value)*30);
total = total + (parseInt(document.theForm.doggybankwhite.value)*20);
total = total + (parseInt(document.theForm.piggybankorange.value)*20);
total = total + (parseInt(document.theForm.piggybankrosa.value)*20);
total = total + (parseInt(document.theForm.piggybankwhite.value)*20);
document.theForm.total.value=total;
}
</script>
  </HEAD>
<body>
<center>
<FORM METHOD="POST" name = "theForm">
Antal: <INPUT type = "text" name="doggybankbrown" size=5 value = "0" onchange="return tjekIndtast();"><br>
Antal: <INPUT type = "text" name="doggybankcream" size=5 value = "0" onchange="return tjekIndtast();"><br>
Antal: <INPUT type = "text" name="doggybankgrey" size=5 value = "0" onchange="return tjekIndtast();"><br>
Antal: <INPUT type = "text" name="doggybankwhite" size=5 value = "0" onchange="return tjekIndtast();"><br>
Antal: <INPUT type = "text" name="piggybankorange" size=5 value = "0" onchange="return tjekIndtast();"><br>
Antal: <INPUT type = "text" name="piggybankrosa" size=5 value = "0" onchange="return tjekIndtast();"><br>
Antal: <INPUT type = "text" name="piggybankwhite" size=5 value = "0" onchange="return tjekIndtast();"><br>
Antal: <INPUT type = "text" name="lys_smaa" size=5 value="0"  onchange="return tjekIndtast();"> - <i>Minimum 5 stk.</i><br>
Antal: <INPUT type = "text" name="lys_store" size=5 value="0" onchange="return tjekIndtast();"> - <i>Minimum 5 stk.</i><br>
Total: <INPUT type = "text" name="total" size=5 ><br>
<br>
<INPUT TYPE="submit" VALUE="Send" name="send" class="knap"><br>
<INPUT TYPE="reset" VALUE="Ryd felter" class="knap"></td>
</form>
  </BODY>
</HTML>
Avatar billede Slettet bruger
30. maj 2002 - 14:42 #19
Perfekt.. :)
Avatar billede Slettet bruger
30. maj 2002 - 14:43 #20
Værs'go og mange tak til ras2000 .. :)
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