RickardMedlem sedan maj 2001287 inlägg TJenix!
Behöver lite hjälp, snart har jag inget hår kvar. =)
Har letat i maunalen och frågat vänner, men ingen har tillräckligt med kunskap (eller tid) =(
Jag behöver ett ganska simpelt script som skall räkna ut ett värde.
Ett formulär med 2 kryssrutor med värdet 235 och 444
och två dropdown listor med värdena 1 till 10 "samanlänkade" till kryssrutorna.
Kryssar jag i rutan med värdet 235 och väljer antal 5
samt rutan för 444 och väljer antal 3, så vill jag att den skall räkna ihop den totala summan och visa det med ett simpelt echo.
Mitt problem är att jag inte vet hur man sparkar ihop något liknande då jag aldrig använt funktionen tidigare.
Är det någon som har tid att hjälpa mig med detta?
Justja, det blir väl troligen lite java med i bilden ochså då jag vill att den skall räkna samman allt sammans utan att trycka på någon submitknapp.
Det skall göras "live" typ...
Vore hemskt bussigt om någon ville hjälpa mig med detta problem innan jag blir av med allt mitt hår.. =)
Tack på förhand
/Rickard
EitrazMedlem sedan sep. 2002366 inlägg Vet inte riktigt om det är det här du vill ha, men här får du en härlig sörja av JavaScript och PHP blandat :birp
<?php
$num = array(444,235);
?>
<script language="JavaScript">
function calc() {
var sum = 0;
<?php
$n = count($num);
while ($n--) {
?>
if (document.all.check<?=$n?>.checked) {
sum += parseInt(document.all.check<?=$n?>.value) * parseInt(document.all.check<?=$n?>plus.value);
}
<?php
}
?>
document.all.sum.value = sum;
}
</script>
<form action="whee.php" method="post">
<?php
$n = count($num);
while ($n--) {
?>
<input type="checkbox" name="check<?=$n?>" value="<?=$num[$n]?>" onClick="calc();"> <?=$num[$n]?><br>
<select name="check<?=$n?>plus" onChange="calc();">
<option value="0">- välj -</option>
<?php
$i = 0;
while ($i++ < 10) {
print "<option value=\"$i\">$i</option>\n";
}
?>
</select><br><br>
<?php
}
?>
<input type="text" name="sum" value="0" disabled>
</form>
RickardMedlem sedan maj 2001287 inlägg Tack, det där fungerade jättebra.
Dock förstår jag inte riktigt hur dte är uppbyggt.
Brevid varje checkbox står det ju nu "444" och "235".
Där behöver jag skriva ut lite annat istället, problemet är att jag ser bara en checkbox i koden, så jag vet inte riktigt vart jag skall pilla.
EitrazMedlem sedan sep. 2002366 inlägg Jag gjorde det lite "smidigt" för att slippa så lång kod att posta. Den loopar igenom checkboxen två gånger
$n = count($num);
while ($n--) {
...
Längst upp ser du en array $num som den hämtar värden ifrån. Det är ju bara att du gör det "manuellt", tar bort loopen och skriver in dina checkboxar automatiskt (och ändrar så det är manuellt i javascriptet också).
Säg till igen om jag ska posta ett "ordentligt" exampel.
RickardMedlem sedan maj 2001287 inlägg Vore hemskt bussigt om du kunde göra det.
då jag är så pass "grön" som jag är så hänger jag inte riktigt med i koden.. =)
/Rickard
EitrazMedlem sedan sep. 2002366 inlägg Nä, den var kanske lite överknepig, men jag gillar dynamiska system ;) (man kunde bara lägga in värden i arrayen så funkade det för fler boxar)
här är lite mer "rätt fram" kod (ändrade även till for istället för while-satser, mer lättläst)
<script language="JavaScript">
function calc() {
var sum = 0;
if (document.all.check1.checked)
sum += parseInt(document.all.check1.value) * parseInt(document.all.check1plus.value);
if (document.all.check2.checked)
sum += parseInt(document.all.check2.value) * parseInt(document.all.check2plus.value);
document.all.sum.value = sum;
}
</script>
<form action="whee.php" method="post">
<input type="checkbox" name="check1" value="235" onClick="calc();"> 235<br>
<select name="check1plus" onChange="calc();">
<option value="0">- välj -</option>
<?php
for ($i=1; $i<11; $i++)
print "<option value=\"$i\">$i</option>\n";
?>
</select><br><br>
<input type="checkbox" name="check2" value="444" onClick="calc();"> 444<br>
<select name="check2plus" onChange="calc();">
<option value="0">- välj -</option>
<?php
for ($i=1; $i<11; $i++)
print "<option value=\"$i\">$i</option>\n";
?>
</select><br><br>
<input type="text" name="sum" value="0" disabled>
</form>
RickardMedlem sedan maj 2001287 inlägg Ahh... jo, systemet var ju bra på det viset att ett man bara kunde lägga till fler boxar genom att bara lägga till ett vä'rde till i arayen..
Hade varit en bra grej, synd bara att jag inte fattar tillräckligt mycket av det... =)
Du ska ha ett stort tack för hjälpen....
Nu ska jag bara koda tilld et så det passar precis tilld et jag ska ha det till... =)
Ska slänga till en funktion för att få scriptet att skicka värdet till min mailadress samt upp i en databas...
Och det ska jag nog klara själv. =)
RickardMedlem sedan maj 2001287 inlägg En sista fråga bara...
Hur får jag sumfältet att bli en variabel?
Jag vill få ner totala summan i en variabel så jag kan få med den i ett dolt fält. =)
EitrazMedlem sedan sep. 2002366 inlägg du kan göra
<input type="text" name="sum" value="0" disabled>
till en hidden
<input type="hidden" name="sum" value="0">
RickardMedlem sedan maj 2001287 inlägg Nja, behöver bådadera.
"sum" ska visas på sidan, medans typ "sum2" ska vara hidden å slängas med i mailboddyn som "$sum2".
EitrazMedlem sedan sep. 2002366 inlägg är bara att göra en till input då :) (sum2) och sen skriva till det i javascriptet:
document.all.sum2.value = sum;
Det är så du menar eller?
Hej!
Jättebra tråd. Jag är i behov av en liknande sak som Rickard. Dock vill jag bara använda radioknappar och ta värderna från en databas.
Jag har en tabell där varje rad innehåller id, sen tre stycken decimaltal.
Jag har gjort så att dessa visas i ett formulär där varje decimaltal har en tillhörande radioknapp. Nu vill jag att man ska kunna få ut summan av de radioknappar man väljer. Får det inte riktigt att fungera när jag gör om denna kod att passa radioknappar.
aasahMedlem sedan mars 20034 471 inlägg Visa hur din kod ser ut så här långt. :)
Jag kan som sagt ingenting om Javascript och inte speciellt mycket om PHP heller. Har väl kört PHP till å från lite grand, men ingenting avancerat. Därför kan det säkert vara en del "fulhack" när jag försökt integrera Javascriptet i mitt PHP-script.
Hur omvandlar man en sträng till ett decimaltal. Används ParseDouble?