Javascript Ergebniss an Warenkorb weiterleiten

anja1112

Cadet 2nd Year
Registriert
Feb. 2013
Beiträge
19
Hallo Zusammen,


Ich habe ein Script das den Wert eines Gerätes durch Auswahl automatisch berechnet. Nun möchte ich das errechnete Ergebniss an eine weitere Seite (Warenkorb ) leiten wo der Kunde seine Daten angeben kann und somit der Vorgang abgeschlossen wird.
Code:
<html>
<head>
<title>Test</title>
<script type="text/javascript">
<!--
function preis() {
	
	var wertFunktionJa = 110; // funkton ja
      var wertFunktionNein = 26; // funktion nein
      var wertZustand = 8; // zustand
      var wertSimlock = 70; // simlock
      var wertLadekabel = 1; // ladekabel
      var wertSonstige = 0.25; // sonstige


      var funktion = document.form.funktion.options[document.form.funktion.selectedIndex].value;
      var zustand = document.form.zustand.options[document.form.zustand.selectedIndex].value;
      var simlock = document.form.simlock.options[document.form.simlock.selectedIndex].value;
      var ladekabel = document.form.ladekabel.options[document.form.ladekabel.selectedIndex].value;
      var ausgabe = 0;

      if(funktion == 2) { ausgabe = ausgabe + wertFunktionJa; }
      else if(funktion == 3) { ausgabe = ausgabe + wertFunktionNein; }
 

      if(zustand == 1) { ausgabe = ausgabe * 3; }
      else if(zustand == 2) { ausgabe = ausgabe * 2; }
      else if(zustand == 3) { ausgabe = ausgabe * 1; }
 

      if(simlock == 1) { ausgabe = ausgabe + wertSimlock; }
      else if(simlock == 2) { ausgabe = ausgabe + (wertSimlock / 3); }
      else if(simlock == 3) { ausgabe = ausgabe + (wertSimlock / 4); }
      else if(simlock == 4) { ausgabe = ausgabe + 0; }
      else if(simlock == 5) {} // hat keinen Text im HTML ?!

      if(ladekabel == 0) { ausgabe = ausgabe + 0; }
      else if(ladekabel == 1) { ausgabe = ausgabe + wertLadekabel; }

      document.form.gesamt.value = parseFloat(ausgabe).toFixed(2);
      document.form.wert.value = parseFloat((funktion*zustand)+simlock+ladekabel).toFixed(2);
   




    }     
-->
</script>
</head>
<body>
    <form name="form" onkeyup="preis();">
    <div class="position">Lässt sich einwandfrei benutzen? <div class="option right">
    <select name="funktion" onchange="preis()">
    <option selected="selected" value="2">ja</option>
    <option value="3">nein</option>
    </select></div></div>


    <div class="clear"></div>
    <div class="position">Zustand des Gerätes? <div class="option right">
    <select name="zustand" onchange="preis()">
    <option selected="selected" value="1">Wie neu</option>
    <option value="2">Gut</option>
    <option value="3">Schlecht</option>
        </select></div></div>



    <div class="clear"></div>
    <div class="position">Simlock vorhanden? <div class="option right">
    <select name="simlock" onchange="preis()">
    <option selected="selected" value="1">kein</option>
    <option value="2">Österreich</option>
    <option value="3">Deutschland</option>
    <option value="4">andere</option>
    <option value="5"></option>
    
    </select></div></div>
    <div class="clear"></div>
    <div class="position">Ladekabel vorhanden?
    <div class="option right"><select name="ladekabel" onchange="preis()"><option selected="selected" value="0">Nein        </option><option value="1">Ja</option></select></div></div>
    <div class="clear"></div>
 
    <div class="position">&nbsp;</div>
    <div class="position"><div class="gesamt right"><input type="text" name="gesamt" value="Wert bis zu € 401.00" class="input_gesamt" readonly="readonly" />*</div><strong>Gesamt in Euro:</strong><br /><small></small></div>
    <div class="clear">in den Warenkorb</div> <input type="submit">
  <input type="hidden" name="wert" value="0">
</form>
    <p><small><em></em></small></p>

     
    </form>
 
 
</body>
</html>
 
Du willst Dich also beim Preis auf einen Javascript übergebene Wert stützen? Nicht dein Ernst oder?

Aber um auf die Frage eine Antwort zu geben, das könnte man irgendwie so machen:

Code:
window.location.href = 'warenkorb.php?Kosten=' + ausgabe

oder in dem Fall dass das alles in einem Form ist (so sieht es zumindestens aus bei deinem Code Beispiel) wobei Du da noch das Attribut method="post" hinzufügen solltest

Code:
document.forms[0].submit();

oder wenn Du noch das ID Attribut bei dem Form Tag ergänzt

Code:
document.forms[formID].submit();

oder

Code:
document.getElementById("form1").submit()
wobei formID der ID deines Forms entspricht, dann kannst die Kosten aus deinem Feld "wert" da rausziehen.

Ich würde Dir allerdings empfehlen die ganze Javascript Geschichte im Warenkorb (also auf der Folgeseite) serverseitig durchzuführen und bei diesem Schritt komplett auf Javascript zu verzichten. Mach einfach einen simplen POST und fertig. Du kannst wohl Javascript benutzen um z.B. zu prüfen dass alle Felder ausgefüllt / ausgewählt sind aber mehr sollte man nicht tun.
 
Zuletzt bearbeitet:
Vielen Dank für die schnelle Antwort.

Ich verstehe das jetzt nicht ganz. Wo kommt das window.location.href = 'warenkorb.php?Kosten=' + ausgabe hin in meinem Script. ? Und auf das letzte " Mach einfach einen Simplen Post blick ich auch nicht ganz durch? Sorry aber steh auf der Leitung und bin da nicht so der Experte



Lg

Anja
 
Wo kommt das window.location.href = 'warenkorb.php?Kosten=' + ausgabe hin in meinem Script.
ganz am Schluss, nach deiner Zeile

Code:
document.form.wert.value = parseFloat((funktion*zustand)+simlock+ladekabel).toFixed(2);

das löst dann den Submit bzw den Wechsel zu deiner Warenkorb Seite aus.


Mach einfach einen Simplen Post blick ich auch nicht ganz durch? Sorry aber steh auf der Leitung und bin da nicht so der Experte
Hast Du Ahnung von einer serverseitigen Sprache wie z.B. PHP, .NET, etc?
 
Zuletzt bearbeitet:
aber um die Bestellung dann abzuschicken/speichern oder sowas brauchst ja i.d.R. was serverseitiges, wie willst Du das machen?
 
Ich habe schon einen fertigen Warenkorb . Mir geht es nur darum dieses errechnete Ergebniss mit einem Button an den Link wo der Warenkorb ist weiterzuleiten. Nur weiss ich nicht wie ich das lösen soll.
 
naja dazu müsstest Du wissen wie der fertige Warenkorb funktioniert. Kann man das irgendwo ansehen, dann gucke ich mal rein.
 
Leider noch nicht. Was ich brauche ist dieses Ergebniss z.b. die Werte die ausgewählt worden sind einfach weiterzuleiten zzgl. den Endpreis. Kann ich das mit diesem Script tun ? Wenn ja wie muss ich es noch verändern damit es funtkioniert ?
 
Also wenn du auf extremes Missbrauchspotential stehst, dann lös es so. Wenn du hingegen auch nur ansatzweise ernsthaft an das Problem herangehst:

Niemals! Niemals! Niemals Preisberechnungen in JavaScript durchführen. Niemals Daten vertrauen, die vom Browser kommen.
Preise werden immer serverseitig berechnet, und das nicht als Float sondern als Integer oder Double.

Such dir ein anständiges Shopsystem, das komplexe Varianten unterstützt, aber schreib nicht selbst so eine wandelnde Sicherheitslücke. Um dir das Problem hier mal zu verdeutlichen: Du lässt den KUNDEN entscheiden, was er für die Produkte bezahlt. Das wäre so, als würdest du in einem Supermarkt nicht mit Strichcodes an der Kasse arbeiten, sondern dir vom Kunden erzählen lassen, was für ein Preis am Regal stand.
 
Was ich brauche ist dieses Ergebniss z.b. die Werte die ausgewählt worden sind einfach weiterzuleiten zzgl. den Endpreis. Kann ich das mit diesem Script tun ? Wenn ja wie muss ich es noch verändern damit es funtkioniert ?
Das kommt drauf an was der Warenkorb will, da kannst nicht einfach irgendwas machen sondern musst Dich an dessen Anforderungen und Möglichkeiten halten. Du musst also wissen auf welche Parameter und Übergaben der Warenkorb "lauscht". Muss allerdings schon ein komischer Warenkorb sein der irgendwelche Preisangaben per GET oder POST entgegennimmt.

Ansonsten kann ich Daaron's Ausführung nur unterstützen.
 
Zuletzt bearbeitet:
Zurück
Oben