Gebrauchte-Prio ist Submit-Button
Bernd Wurst

Bernd Wurst commited on 2026-10-03 18:35:06
Zeige 4 geänderte Dateien mit 36 Einfügungen und 31 Löschungen.

... ...
@@ -52,33 +52,27 @@ document.addEventListener('DOMContentLoaded', function () {
52 52
     const container = document.getElementById('prioOptionsContainer');
53 53
     container.innerHTML = '';
54 54
 
55
-        // Aktuell gespeicherten Wert aus dem Hidden-Field auslesen
56 55
     const currentPrio = document.getElementById('input_prio').value;
57 56
 
58 57
     items.forEach((item, index) => {
59
-            const inputId = 'prio_' + item.id;
58
+        const btn = document.createElement('button');
59
+        btn.type = 'submit'; // Löst das Absenden des Formulars aus
60 60
 
61
-            const input = document.createElement('input');
62
-            input.type = 'radio';
63
-            input.className = 'btn-check';
64
-            input.name = 'prioRadio';
65
-            input.id = inputId;
66
-            input.value = item.id;
67
-            input.autocomplete = 'off';
61
+        // Optische Hervorhebung, falls dieser Wert bereits vorausgewählt / gespeichert war
62
+        const isSelected = (currentPrio === item.id || (!currentPrio));
63
+        btn.className = isSelected
64
+            ? 'btn btn-primary btn-lg p-3 fs-3 fw-bold w-100 mb-2'
65
+            : 'btn btn-outline-primary btn-lg p-3 fs-3 fw-bold w-100 mb-2';
68 66
 
69
-            // Prüfung: Passt die ID zum Wert im Hidden-Field? 
70
-            // Falls nichts gespeichert ist, nimmt er den ersten Eintrag als Standard.
71
-            if (currentPrio === item.id || (!currentPrio && index === 0)) {
72
-                input.checked = true;
73
-            }
67
+        btn.innerText = item.label + ' zuerst benutzen';
74 68
 
75
-            const label = document.createElement('label');
76
-            label.className = 'btn btn-outline-primary btn-lg p-3 fs-3 fw-bold';
77
-            label.htmlFor = inputId;
78
-            label.innerText = item.label + ' zuerst benutzen';
69
+        // Beim Klick: Wert in Hidden-Field eintragen und Submit ausführen
70
+        btn.addEventListener('click', function() {
71
+            document.getElementById('input_prio').value = item.id;
72
+            submitForm();
73
+        });
79 74
 
80
-            container.appendChild(input);
81
-            container.appendChild(label);
75
+        container.appendChild(btn);
82 76
     });
83 77
 }
84 78
 
... ...
@@ -81,7 +81,7 @@ h1, h2, h3 {
81 81
         font-size: 200%;
82 82
     }   
83 83
     .modal-dialog {
84
-        max-width: 700px;
84
+        /*max-width: 800px;*/
85 85
     }
86 86
 }
87 87
 
... ...
@@ -44,7 +44,7 @@ $content .= '
44 44
 
45 45
 <!-- MODAL 1: Größenauswahl -->
46 46
 <div class="modal fade" id="groessenModal" tabindex="-1" aria-labelledby="groessenModalLabel" aria-hidden="true">
47
-    <div class="modal-dialog modal-dialog-centered">
47
+    <div class="modal-dialog modal-lg modal-dialog-centered">
48 48
         <div class="modal-content">
49 49
             <div class="modal-header">
50 50
                 <h5 class="modal-title fs-4 fw-bold" id="groessenModalLabel">Welche Karton-Größen haben Sie abgestellt?</h5>
... ...
@@ -52,15 +52,27 @@ $content .= '
52 52
             </div>
53 53
             <div class="modal-body">
54 54
                 <p class="text-muted mb-3">Mehrfachauswahl möglich:</p>
55
-                <div class="d-grid gap-3">
55
+            <div class="row g-3">
56
+                    <div class="col-md-4">
56 57
                         <input type="checkbox" class="btn-check" id="check3er" autocomplete="off" '.(!empty($_SESSION['gebrauchte_3er']) ? 'checked' : '').'>
57
-                    <label class="btn btn-outline-success btn-lg p-3 fs-3 fw-bold" for="check3er">3er Kartons</label>
58
+                        <label class="btn btn-outline-success btn-lg p-3 fs-3 fw-bold w-100 h-100 d-flex align-items-center justify-content-center" for="check3er">
59
+                            3er Kartons
60
+                        </label>
61
+                    </div>
58 62
 
63
+                    <div class="col-md-4">
59 64
                         <input type="checkbox" class="btn-check" id="check5er" autocomplete="off" '.(!empty($_SESSION['gebrauchte_5er']) ? 'checked' : '').'>
60
-                    <label class="btn btn-outline-success btn-lg p-3 fs-3 fw-bold" for="check5er">5er Kartons</label>
65
+                        <label class="btn btn-outline-success btn-lg p-3 fs-3 fw-bold w-100 h-100 d-flex align-items-center justify-content-center" for="check5er">
66
+                            5er Kartons
67
+                        </label>
68
+                    </div>
61 69
 
70
+                    <div class="col-md-4">
62 71
                         <input type="checkbox" class="btn-check" id="check10er" autocomplete="off" '.(!empty($_SESSION['gebrauchte_10er']) ? 'checked' : '').'>
63
-                    <label class="btn btn-outline-success btn-lg p-3 fs-3 fw-bold" for="check10er">10er Kartons</label>
72
+                        <label class="btn btn-outline-success btn-lg p-3 fs-3 fw-bold w-100 h-100 d-flex align-items-center justify-content-center" for="check10er">
73
+                            10er Kartons
74
+                        </label>
75
+                    </div>
64 76
                 </div>
65 77
             </div>
66 78
             <div class="modal-footer">
... ...
@@ -73,7 +85,7 @@ $content .= '
73 85
 
74 86
 <!-- MODAL 2: Prioritätsauswahl -->
75 87
 <div class="modal fade" id="prioModal" tabindex="-1" aria-labelledby="prioModalLabel" aria-hidden="true">
76
-    <div class="modal-dialog modal-dialog-centered">
88
+    <div class="modal-dialog modal-lg modal-dialog-centered">
77 89
         <div class="modal-content">
78 90
             <div class="modal-header">
79 91
                 <h5 class="modal-title fs-4 fw-bold" id="prioModalLabel">Welche Größe soll ZUERST befüllt werden?</h5>
... ...
@@ -85,10 +97,6 @@ $content .= '
85 97
                     <!-- Wird dynamisch per JS befüllt -->
86 98
                 </div>
87 99
             </div>
88
-            <div class="modal-footer">
89
-                <button type="button" class="btn btn-secondary btn-lg" id="btnBackToModal1">Zurück</button>
90
-                <button type="button" class="btn btn-primary btn-lg px-4" id="btnSubmitFinal">Weiter</button>
91
-            </div>
92 100
         </div>
93 101
     </div>
94 102
 </div>
... ...
@@ -20,6 +20,9 @@ $num = 0;
20 20
 $mobilenumbers = array_unique(array_filter($_SESSION['phonenumbers'], function($v) {
21 21
     return str_starts_with($v, '+491');
22 22
 }));
23
+if ($_SESSION['email']) {
24
+    $_SESSION['emailaddrs'][] = $_SESSION['email'];
25
+}
23 26
 $emailaddrs = array_unique($_SESSION['emailaddrs']);
24 27
 
25 28
 $num = count($mobilenumbers) * 2 + count($emailaddrs);
26 29