• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!
Status
Für weitere Antworten geschlossen.

dutywargame

Neues Mitglied
Hallo,

ich erstelle momentan gerade einen Shop und habe folgendes Problem.
Ich möchte das der Kunde vor der Bestellung die Allgemeinen Geschäftsbedingungen per Checkbox akzeptiert.
Anschließend soll er nach dem Klick des Bestellen Buttons auf das eigentliche Bestellformular weitergeleitet werden.
Die Abfrage, dass der Button nur aktiv wird, wenn die Checkbox angewählt ist, habe ich soweit hinbekommen. Leider funktioniert aber der Weiterleitungslink auf das Bestellformular nicht. Er lädt zwar, bleibt aber auf der ursprünglichen Seite.

Hier der Quellcode:

HTML:
<html>

<head>

<title>muh</title>

<script type="text/javascript">

function showButton() {

  document.Form.Button.style.display = "inline";

}



function checkit() {

  if (document.Form.Box.checked == false) {

    alert("Fehler!");

  } else {

    location.href = "https://Link zum Bestellformular";

}

}

</script>

</head>



<form name="Form" action="">

<input type="checkbox" name="AGB" value="gelesen" onChange="document.getElementById('submitButton').disabled = !this.checked;" /> Ich akzeptiere die Allgemeinen Geschäftbedingungen, die Datenschutzerklärung und die Widerrufsbelehrung


<input type="submit" id="submitButton" value="JETZT BESTELLEN" disabled="disabled" />

</form>


Ich hoffe das ihr helfen könnt.


Beste Grüße
Hendrik
 
Werbung:
  1. Aus:
    Javascript:
    if (document.Form.Box.checked == false) {
    wird:
    Javascript:
    if (document.Form.AGB.checked == false) {
  2. JS-Funktion checkit() aufrufen:
    HTML:
    <input type="checkbox" name="AGB" value="gelesen" onchange="document.getElementById('submitButton').disabled = !this.checked;checkit()" />

Moderation: Von HTML nach JavaScript verschoben.
 
Hallo, vielen Dank für die Antwort. Ich habe es dementsprechend geändert.

HTML:
<html>
<head>
<title>muh</title>
<script type="text/javascript">
function showButton() {
  document.Form.Button.style.display = "inline";
}

function checkit() {
if (document.Form.AGB.checked == false) {
    alert("Fehler!");
  } else {
    location.href = "https://www.Link zum Bestellformular";
}
}
</script>
</head>

<form name="Form." action="">
<input type="checkbox" name="AGB" value="gelesen""document.getElementById('submitButton').disabled = !this.checked;" />  Ich akzeptiere die Allgemeinen Geschäftbedingungen, die Datenschutzerklärung und die Widerrufsbelehrung



<input type="submit" id="submitButton" value="JETZT BESTELLEN" disabled="disabled" />
</form>

Leider reagiert jetzt der Button nicht mehr, wenn die Checkbox aktiviert ist, was vorher möglich war.
Mein ursprüngliches Problem der Weiterleitung funktioniert ebenfalls leider noch nicht.

Was habe ich falsch im Quellcode? Wird in Wordpress verwendet.

Beste Grüße

Hendrik
 
Werbung:
Ich habe es dementsprechend geändert.
Das entspricht leider nicht in vollem Umfang den Tatsachen.
Leider reagiert jetzt der Button nicht mehr, wenn die Checkbox aktiviert ist, was vorher möglich war.
Mein ursprüngliches Problem der Weiterleitung funktioniert ebenfalls leider noch nicht.

Was habe ich falsch im Quellcode?
Du hast vergessen Punkt 2 zu übernehmen (= JS-Funktion checkit() aufrufen), dafür aber nun dem Formularname einen Punkt angehängt (aus vormals name="Form" wurde name="Form."). Bitte diesen wieder entfernen.

Außerdem ist hier in der neuen Codeversion der onchange-Eventhandler verlorengegangen:
HTML:
<input type="checkbox" name="AGB" value="gelesen""document.getElementById('submitButton').disabled = !this.checked;" />
Richtig lautend (inkl. JS-Funktion checkit()):
HTML:
<input type="checkbox" name="AGB" value="gelesen" onchange="document.getElementById('submitButton').disabled = !this.checked;checkit()" />
 
Werbung:
Hallo vielen Dank für die schnelle Hilfe.

Ich habe es aus dem geschickten Beispiel raus genommen. Soweit funktioniert alles. Letze Abänderung. Was muss ich noch korrigieren, dass er nach dem Klick in die Checkbox, nicht sofort weiterleitet ohne das man auf den Bestellen Button gedrückt hat. (Aktuell) Sondern erst nachdem man die Checkbox aktiviert hat und dann über den Klick auf " Jetzt Bestellen" weitergeleitet wird?

HTML:
<script type='text/javascript'>//<![CDATA[

function showButton() {
  document.Form.Button.style.display = "inline";
}

function checkit() {
  if (document.Form.AGB.checked == false) {
    alert("Fehler!");
  } else {
    location.href = "https://testseite.de";
  }
}


</script>

</head>

<body>

  <form name="Form" action="">
  <input type="checkbox" name="AGB" value="gelesen" onchange="document.getElementById('submitButton').disabled = !this.checked;checkit()" /> Ich akzeptiere die Allgemeinen Geschäftbedingungen, die Datenschutzerklärung und die Widerrufsbelehrung


<input type="submit" id="submitButton" value="JETZT BESTELLEN" disabled="disabled"/>
</form>
</body>

</html>
 
Was muss ich noch korrigieren, dass er nach dem Klick in die Checkbox, nicht sofort weiterleitet ohne das man auf den Bestellen Button gedrückt hat. (Aktuell) Sondern erst nachdem man die Checkbox aktiviert hat und dann über den Klick auf " Jetzt Bestellen" weitergeleitet wird?
Stammt der Code nicht aus Deiner eigenen Feder? Oder besitzt Du keine HTML-/JS-(Grund)Kenntnisse?

location.href = "https://testseite.de"; entfällt im Script. Der URL wird stattdessen im action-Attribut von <form> angegeben.
 
Nein leider nicht. Ich kenne mich auf diesem Gebiet überhaupt nicht aus, leider. Aber man lernt immer dazu. Es funktioniert jetzt alles wie es soll. Vielen vielen Dank für Deine Hilfe! :-)
 
Werbung:
Status
Für weitere Antworten geschlossen.
Zurück
Oben