从注册表单中获取多个姓名

时间:2019-04-25 08:58:26

标签: javascript jquery html ajax

我创建了一些代码,以使用自定义重定向将第3方表单转换为jQuery AJAX。在重定向页面上,捕获了来自表单的用户名。问题是我只能捕获一次该名称。如果我尝试重复代码以多次显示该名称,那么它将无法正常工作。

非常感谢您的帮助!

------Javascript for the submit button------

window.CFS = window.CFS || {};

(function () {
    "use strict";

    CFS.msgPleaseWait = 'Please wait...';
    CFS.msgRedirect = 'Redirecting...';
    CFS.nameField = '';
    CFS.nameFromSubmitField = '';
    CFS.redirectTo = '';
    CFS.submitButtonText = '';

    CFS.submitHandler = function(form) {
        var $form = $(form);

        var dataToPost = $form.serialize();
        var urlToPostTo = $form.attr("action");

        var $submitButton = $("input[type='submit']", $form);
        CFS.submitButtonText = $submitButton.val();

        CFS.disableSubmit($submitButton);

        $.ajax({
            type: 'POST',
            url: urlToPostTo,
            data: dataToPost,
            success: function(data) {
                if (CFS.redirectTo) {
                    $submitButton.val(CFS.msgRedirect);

                    if (CFS.nameField) {
                        var nameFieldVal = '';

                        if ($("input[name='" + CFS.nameField + "']", $form)) {
                            nameFieldVal = $("input[name='" + CFS.nameField + "']", $form).val();
                        }

                        if (nameFieldVal) {
                            CFS.setCookie('name', nameFieldVal, 60);
                        }
                    }

                    window.location.replace(CFS.redirectTo);
                } else {
                    CFS.enableSubmit($submitButton);                
                }
            },
            error: function() {
                console.log('Campaigner.com error!');

                CFS.enableSubmit($submitButton);
            }
        });
    }

    CFS.disableSubmit = function($button) {
        $button.attr("disabled", "disabled");
        $button.val(CFS.msgPleaseWait);
    }

    CFS.enableSubmit = function($button) {
        $button.val(CFS.submitButtonText);
        $button.removeAttr("disabled");                 
    }

    CFS.setCookie = function(name, value, seconds) {
        var d = new Date();
        d.setTime(d.getTime() + (seconds * 1000));
        var expires = 'expires=' + d.toUTCString();
        document.cookie = name + '=' + value + ';' + expires + ';path=/';
    }

    CFS.getCookie = function(name) {
        name += '=';
        var ca = document.cookie.split(';');
        for(var i = 0; i < ca.length; i++) {
            var c = ca[i];
            while (c.charAt(0) == ' ') {
                c = c.substring(1);
            }
            if (c.indexOf(name) == 0) {
                return c.substring(name.length, c.length);
            }
        }
        return '';
    }

    CFS.setNameFromSubmit = function() {
        if (CFS.nameFromSubmitField) {
            var elem = document.getElementById(CFS.nameFromSubmitField);
            var savedName = CFS.getCookie('name');

            if (elem && savedName) {
                elem.innerHTML = savedName;
            }
        }
    }
})();



------Name Field Captured-----

<p>Hello my name is <span id="nameFromSubmit">NAME HERE</span>

    <script src="custom-submit.js" type="text/javascript"></script>
    <script type="text/javascript">

        if ((typeof CFS !== 'undefined') && CFS.setNameFromSubmit) {
                CFS.nameFromSubmitField = 'nameFromSubmit';

                CFS.setNameFromSubmit();
            }
    </script>

0 个答案:

没有答案