Papiergewicht errechnen

CreativPur

Erfahrenes Mitglied
Hallo,

ich habe ein kleines Programm für die Errichtung von Papier erstellt.
Dabei möchte ich die Breite und Höhe des DIN-Formates per select eingeben.
Die Berechnung funktioniert auch, nur bei der Auswahl der Option im Selectfeld wird mir immer nur der letzte Wert DIN A6(105x148 mm) übermittelt..
Woran kann dies liegen ?

Javascript:
function calc()
{

var hoehe = document.getElementById('hoehe').value;
  console.log(hoehe);

var breite = document.getElementById('breite').value;
  console.log(breite);


var din0 = document.getElementById("hoehe").value = 1189;
           document.getElementById("breite").value = 840;
  console.log(din0);

var din1 = document.getElementById("hoehe").value = 840;
           document.getElementById("breite").value = 594;
  console.log(din1);

var din2 = document.getElementById("hoehe").value = 594;
           document.getElementById("breite").value = 420;
  console.log(din2);

var din3 = document.getElementById("hoehe").value = 420;
           document.getElementById("breite").value = 297;
  console.log(din3);

var din4 = document.getElementById("hoehe").value = 297;
           document.getElementById("breite").value = 210;
  console.log(din4);

var din5 = document.getElementById("hoehe").value = 210;
           document.getElementById("breite").value = 148;
  console.log(din5);    

var din6 = document.getElementById("hoehe").value = 148;
           document.getElementById("breite").value = 105;
  console.log(din6);

}

HTML:
<form oninput="gesamtgewicht.value = Math.round(((hoehe.value) * 0.001) * ((breite.value) * 0.001) * material.value * menge.value) * 0.001;
einzelgewicht.value = Math.round(((hoehe.value) * 0.001) * ((breite.value) * 0.001) * material.value) * 1;
porto_gewicht.value = Math.round(((hoehe.value) * 0.001) * ((breite.value) * 0.001) * material.value * menge.value) * 0.001; return calc();
">
<input class="hidden" id="porto_gewicht" />
<h3 style="color:#0CF"> Berechnen Sie Ihr Versand-Gewicht</h3>
<hr />
<div class="row">
        <div class="col-lg-2 col-xs-12" style="padding-bottom:30px; margin-left:20px;">
            <div class="hidden">
                Höhe (mm):<br>
                <input type="text" id="hoehe"><br><br>
                Breite (mm):<br>
                <input type="text" id="breite"><br><br>
            </div>
         
            DIN Format:<br>
            <select class="form-control" id="din">
              <option>bitte wählen</option>
              <option id="din0">DIN A0 (840x1189 mm)</option>
              <option id="din1">DIN A1 (594x840 mm)</option>
              <option id="din2">DIN A2 (420x594 mm)</option>
              <option id="din3">DIN A3 (297x420 mm)</option>
              <option id="din4">DIN A4 (210x297 mm)</option>
              <option id="din5">DIN A5 (148x210 mm)</option>
              <option id="din6">DIN A6 (105x148 mm)</option>
            </select>
            <br>
            Gewicht Material (g/qm):<br>
            <input type="text" id="material"><br><br>
            Bestellmege:<br>
            <input type="text" id="menge">
            <hr />
        </div>
     
        <div class="col-lg-3 col-xs-12" style="background-color:#F2F2F2; min-height:220px; padding-left:20px; padding-bottom:30px;">
            <br>
            <strong style="padding-left:20px;">Einzelgewicht:</strong> <span style="font-size:10px;">(Einzelner Flyer, Plakat usw.)</span>
            <br>
            <div class="table-responsive" style="border:none">
            <table width="100" border="0" style="margin-left:20px;">
                  <tr>
                    <td width="10"><output style="margin-top:-7px;" name="einzelgewicht" value="gr"></output></td>
                    <td width="40">gr</td>
                  </tr>
            </table>
            </div>
            <br>
            <strong style="padding-left:20px;">Gesamtgewicht:</strong>
            <br>
            <div class="table-responsive" style="border:none">
            <table width="100" border="0" style="margin-left:20px;">
                  <tr>
                    <td width="20"><output style="margin-top:-7px;" name="gesamtgewicht" value="kg" ></output></td>
                    <td width="40">kg</td>
                  </tr>
            </table>
            </div>
        </div>
    </div>
</div>

</form>
 
Zuletzt bearbeitet:
Ich habe es jetzt so gelöst...

Javascript:
function calc()
{
var porto_gewicht = document.getElementById('porto_gewicht').value;
  console.log(porto_gewicht);
 
var wert_mm = document.getElementById('wert_mm').value;
  console.log(wert_mm);
 
  
var Summe = eval(porto_gewicht)
  console.log(Summe);
Summe = Summe.toFixed(2);
if (Summe <= 0.5)
{
document.getElementById("porto_betrag").innerHTML = 2 + (" Euro");
} 

else
{
if (Summe <= 1)
{
document.getElementById("porto_betrag").innerHTML = 4 + (" Euro");
}

else
{
if (Summe <= 2)
{
document.getElementById("porto_betrag").innerHTML = 4.50 + (" Euro");
}

else
{
if (Summe <= 5)
{
document.getElementById("porto_betrag").innerHTML = 6.99 + (" Euro");
}

else
{
if (Summe <= 10)
{
document.getElementById("porto_betrag").innerHTML = 8.99 + (" Euro");
}

else
{
if (Summe <= 31)
{
document.getElementById("porto_betrag").innerHTML = 14.99 + (" Euro");
}

else
{
if (Summe <= 40)
{
document.getElementById("porto_betrag").innerHTML = 26.97 + (" Euro");
}

else
{
if (Summe <= 50)
{
document.getElementById("porto_betrag").innerHTML = 33.96 + (" Euro");
}

else
{
if (Summe <= 60)
{
document.getElementById("porto_betrag").innerHTML = 37.98 + (" Euro");
}

else
{
if (Summe <= 70)
{
document.getElementById("porto_betrag").innerHTML = 41.96 + (" Euro");
}

else
{
if (Summe <= 80)
{
document.getElementById("porto_betrag").innerHTML = 49.96 + (" Euro");
}

else
{
if (Summe <= 90)
{
document.getElementById("porto_betrag").innerHTML = 56.96 + (" Euro");
}

else
{
if (Summe <= 100)
{
document.getElementById("porto_betrag").innerHTML = 63.96 + (" Euro");
}

else
{
if (Summe >= 100)
{
document.getElementById("porto_betrag").innerHTML = ("Portofrei");
}
             }
            }
           }
          }
         }
        }
       }
      }   
     }
    }
   }
  }
}

}



HTML:
<form oninput="einzelgewicht.value = Math.round(((wert_mm.value) * 0.001) * material.value) * 0.001;
               gesamtgewicht.value = Math.round(((wert_mm.value) * 0.001) * material.value) * menge.value * 0.000001;
               porto_gewicht.value = Math.round(((wert_mm.value) * 0.001) * material.value * menge.value) * 0.000001; return calc();   

">

<input class="hidden" id="porto_gewicht" />
<h3 style="color:#0CF"> Berechnen Sie Ihr Versand-Gewicht</h3>
<hr />
<div class="row">
        <div class="col-lg-2 col-xs-12" style="padding-bottom:30px; margin-left:20px;">
            <div class="hidden">
                qmm:<br>
                <input type="text" size="6" id="wert_mm">
               
            </div>
            <br />
           
            DIN Format:<br>
            <select name="dinangabe"  onChange="this.form.wert_mm.value = this.form.dinangabe.value;">
                  <option>Bitte wählen</option>
                  <option value="999949">DIN A0 (840x1189 mm</option>
                  <option value="498960">DIN A1 (594x840 mm</option>
                  <option value="249480">DIN A2 (420x594 mm)</option>
                  <option value="124740">DIN A3 (297x420 mm)</option>
                  <option value="62370">DIN A4 (210x297 mm)</option>
                  <option value="31080">DIN A5 (148x210 mm)</option>
                  <option value="15540">DIN A6 (105x148 mm)</option>
             </select>   
            <br />
            <br>
            Gewicht Material (g/qm):<br>
            <input type="text" id="material"><br><br>
            Bestellmege:<br>
            <input type="text" id="menge">
            <hr />
        </div>
       
        <div class="col-lg-3 col-xs-12" style="background-color:#F2F2F2; min-height:220px; padding-left:20px; padding-bottom:30px;">
            <br>
            <strong style="padding-left:20px;">Einzelgewicht:</strong> <span style="font-size:10px;">(Einzelner Flyer, Plakat usw.)</span>
            <br>
            <div class="table-responsive" style="border:none">
            <table width="100" border="0" style="margin-left:20px;">
                  <tr>
                    <td width="10"><output style="margin-top:-7px;" name="einzelgewicht" value="gr"></output></td>
                    <td width="40">gr</td>
                  </tr>
            </table>
            </div>
            <br>
            <strong style="padding-left:20px;">Gesamtgewicht:</strong>
            <br>
            <div class="table-responsive" style="border:none">
            <table width="100" border="0" style="margin-left:20px;">
                  <tr>
                    <td width="20"><output style="margin-top:-7px;" name="gesamtgewicht" value="kg" ></output></td>
                    <td width="40">kg</td>
                  </tr>
            </table>
            </div>
            <br>
            <strong style="padding-left:20px;">Geschätzte Versandkosten:</strong>
            <br>
            <div class="table-responsive" style="border:none">
            <table width="100" border="0" style="margin-left:20px;">
                  <tr>
                    <td width="50">
                    <div style="margin-top:0px;" name="Summe_porto" id="porto_betrag"></div>
                    
                    </td>
                    <td width="0"></td>
                  </tr>
            </table>
            </div>
        </div>
           
        <div class="col-lg-3 col-xs-12" style="padding-bottom:30px; padding-top:30px;">
            Mit Hilfe des Papiergewichtsrechners kann das sogenannte Papiergewicht berechnet werden. Dies ist ein Richtwert, dessen Gewicht sich auf unbedrucktes Papier bezieht. Je nach Farbsättigung entstehen andere
            Werte und Gewichte, die Abweichungen zum Papiergewichtsrechner aufweisen und daher nicht zu Mengenangaben einzelner Produkte heranzuziehen sind.
        </div>
           
        <div class="col-lg-3 col-xs-12">
              <img src="http://www.werbeagentur-silberschlag.de/media/Bilder/din_mass.png" class="img-responsive" />
        </div>
    </div>
</div>

</form>
 
Wow, die Pyramide gefällt mir :)
pyramide.PNG

Ich würde dir empfehlen, keine JS-Eventhandler im HTML (<form oninput="...">) zu definieren und auch die Präsentationslogik (Setzen des innerHTML) von der Controller-Logik (Berechnung des Wertes) zu trennen.
 

Neue Beiträge

Zurück