PageSourceSearch

https://www.nakheel.com/Mvc/Scripts/forms/subscription-form.js?package=NakheelComponents

js nakheel.com collected 2026-10-02 04:47:54 UTC 3,211 bytes, 98 lines download raw bytes

1var Subscription = {} || Subscription;
2var message = $("#EmailAddressSubscriptionError");
3var waitingMessage = $("#waitingMessage");
4var errorMessage = $("#EmailErrorMessage").val();
5Subscription = {
6    applyMessageErrorClass: function () {
7        message.addClass("error");
8        message.removeClass("text-success");
9    },
10    applySuccessErrorClass: function () {
11        message.addClass("text-success");
12        message.removeClass("error");
13    },
14    validateForm: function () {
15
16        var txt = $("#EmailAddressSubscription");
17        if (txt.valueOf().length > 0) {
18            var re = /^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
19            if (!txt.val().trim().match(re)) {
20                message.show();
21                message.text(errorMessage);
22                Subscription.applyMessageErrorClass();
23                return false;
24            }
25            else {
26                message.hide();
27                return true;
28            }
29        }
30        else {
31            Subscription.applyMessageErrorClass();
32            message.show();
33            message.text(errorMessage);
34            return false;
35        }
36    },
37    submitClickEvent: function () {
38        $("#btnSubmitSubscription").click(function (event) {
39            event.preventDefault();
40            if (Subscription.validateForm()) {
41                waitingMessage.show();
42                Subscription.serverCall();
43            }
44        });
45    },
46    submitInputEnterKeyPress: function () {
47        $('#EmailAddressSubscription').on('keydown', function (e) {
48            if (e.keyCode == 13) {
49                e.preventDefault();
50                // when enter is pressed
51                if (Subscription.validateForm()) {
52                    waitingMessage.show();
53                    Subscription.serverCall();
54                }
55            }
56        });
57    },
58    serverCall: function () {
59        var url = $('#urlForm').val();
60        var data = $('#SubscriptionFormId').serialize();
61        $.ajax({
62            url: url,
63            type: "POST",
64            data: data,
65            async: false,
66            success: function (response) {
67                $("#EmailAddressSubscription").text('');
68                waitingMessage.hide();
69                message.show();
70                message.text(response.message);
71                console.log(response);
72                Subscription.applySuccessErrorClass();
73                $("#EmailAddressSubscription").val('');
74            }
75            ,
76            error: function (xhr, ajaxOptions, thrownError) {
77                waitingMessage.hide();
78                console.log(thrownError)
79                message.show();
80                message.text(response.message);
81                Subscription.applyMessageErrorClass();
82            }
83        });
84    },
85
86    init: function () {
87        Subscription.submitInputEnterKeyPress();
88        Subscription.submitClickEvent();
89    }
90}
91
92function callrequest() {
93    Subscription.serverCall();
94}
95
96$(document).ready(function () {
97    Subscription.init();
98});

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.