PageSourceSearch

https://www.hottgenroth.de/js/supportTicket.js

js hottgenroth.de collected 2026-09-24 18:21:42 UTC 4,662 bytes, 116 lines download raw bytes

1jQuery(document).ready(function () {
2
3    //$('[data-toggle="tooltip"]').tooltip({ container: 'body' });
4    function getUrlParameter(name) {
5        var params = new URLSearchParams(window.location.search);
6        var value = params.get(name);
7        if (value === null)
8            return null;
9        if (value === "")
10            return true;
11        return value;                    
12    }
13
14    var captchaRendered = false;
15    var captchaWidgetId;
16
17    if (getUrlParameter('ticket')) {
18        $('#supportticketModal').modal('show');
19        initiateModalCaptcha();
20    }
21
22    function initiateModalCaptcha() {
23        if (!captchaRendered) {
24            captchaWidgetId = grecaptcha.render('recaptchaModal', {
25                'sitekey': '6LetDU0UAAAAAJJVwRowyzN6dqy0AzzEqJNjzaxx', //  '6LcNc0sUAAAAAFgsR6agWkr2-mMaFRznQpPjDmZQ',
26                'theme': 'light',
27                'callback': function (response) {
28                    $("#recaptchaResponse").val(response);
29                    $(".errorRecaptcha").empty();
30                }
31            });
32            captchaRendered = true;
33        }
34    }
35
36    $('#openModalSupportticket').click(function () {
37        $('#supportticketModal').modal({ show: true });
38        initiateModalCaptcha();
39    });
40
41    $("#ticket_version").prop("disabled", true);
42
43    $("#ticket_programmname").on("input", function () {
44        if ($(this).val().trim() !== "") {
45            $("#ticket_version").prop("disabled", false);
46        } else {
47            $("#ticket_version").prop("disabled", true).val("");
48        }
49    });
50
51
52
53    $("#ticketErstellen").click(function (e) {
54        e.preventDefault();
55
56        $(".alert").remove();
57        $(".form-control").removeClass("has-error");
58        $('#control_email').removeClass('has-error');
59        $('#control_zusammenfassung').removeClass('has-error');
60        $('#control_beschreibung').removeClass('has-error');
61        $('#control_datenschutz').removeClass('has-error');
62        $(".errorRecaptcha").empty();
63        $(".errorMessage").empty();
64
65        var ticket = {};
66        ticket.email = $("#ticket_email").val();
67        ticket.zusammenfassung = $("#ticket_zusammenfassung").val();
68        ticket.programmname = $("#ticket_programmname").val();
69        ticket.version = $("#ticket_version").val();
70        ticket.beschreibung = $("#ticket_beschreibung").val();
71        ticket.datenschutz = $("#ticket_datenschutz").prop("checked");
72        ticket.reCaptcha = $("#recaptchaResponse").val();
73
74        $('#ticketErstellen').addClass('disabled').text("Wird gesendet...");
75
76        var jsonData = JSON.stringify(ticket);
77
78        // AJAX-Aufruf
79        $.ajax({
80            url: 'handler/supportTicket.ashx',
81            type: 'POST',
82            data: jsonData,
83            dataType: 'json',
84            success: function (data) {
85
86                if (data.status === "success") {
87                    // Erfolgsmeldung
88                    $(".formrow").hide();
89                    $(".modal-body").prepend('<div class="alert alert-success"><strong>Ihr Ticket wurde erfolgreich erstellt.</strong>  Sie erhalten eine Bestätigung sowie Aktualisierungen zu der Bearbeitung an die angegebene E-Mail Adresse.</div>');
90                    $('#ticketErstellen').remove();
91                    $('#abbrechen').text("Schließen");
92
93                } else if (data.status === "error") {
94                    // Fehler anzeigen
95                    fehler = data.errors;
96                    $.each(fehler, function (i, ticket) {
97                        if (ticket.error == "reCaptcha") {
98                            $(".errorRecaptcha").prepend('<div class="alert alert-danger">Bitte bestätigen Sie, dass Sie kein Roboter sind.</div>');
99                        } else {
100                            $("#control_" + ticket.error).addClass("has-error");
101                        }                     
102                    });
103
104                    $(".errorMessage").prepend('<div class="alert alert-danger"> <strong>Fehler:</strong> Bitte überprüfen Sie Ihre Eingaben</div>');
105                }
106
107                $('#ticketErstellen').removeClass('disabled').text("Ticket erstellen");
108
109            },
110            error: function () {
111                $(".errorMessage").prepend('<div class="alert alert-danger"><strong>Fehler:</strong> Das Ticket konnte nicht gesendet werden. Bitte versuchen Sie es später erneut.</div>');
112                $('#ticketErstellen').removeClass('disabled').text("Ticket erstellen");
113            }
114        });
115    });
116});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.