jQuery $ .ajax post方法不在joomla中发送电子邮件

时间:2016-04-25 06:51:15

标签: php jquery ajax email joomla

经过数百个问题后,所提供的解决方案都没有解决我的问题。我的问题很简单,我有一个用于发送电子邮件的Joomla模块。虽然在使用joomla 3.5.1的实时服务器上创建模块,但一切都很顺利,但是当我在另一个服务器上的另一个实时joomla网站上安装时,它不会终止任何电子邮件。奇怪的是,脚本中的所有其他功能与$.ajax({之间的效果很好,后者基本上负责将数据发送到服务器。我最初认为错误发生在服务器端,但在发送没有jQuery的电子邮件时,一切都运行良好。我的代码如下。

<script type="text/javascript">
    jQuery(document).ready(function ($) {
        $('#dock_send').click(function (e) {
            //First we do some validation,  
            $("#dock_sending").removeClass("hide");

            alerts = '';
            if ($("input[name=dock_skibzy_names]").val() == '') {
                alerts += "1";
                $("#dock_error_name").addClass("error");
            }
            if ($("input[name=dock_skibzy_email]").val() == '') {
                alerts += "1";
                $("#dock_error_email").addClass("error");
            }
            if (!validateEmail($("input[name=dock_skibzy_email]").val())) {
                alerts += "1";
                $("#dock_error_email").addClass("error");
            }
            if ($("input[name=dock_skibzy_phone]").val() == '') {
                alerts += "1";
                $("#dock_error_phone").addClass("error");
            }
            if (!validateNumber($("input[name=dock_skibzy_phone]").val())) {
                alerts += "1";
                $("#dock_error_phone").addClass("error");
            }
            if ($("input[name=dock_skibzy_subj]").val() == '') {
                alerts += "1";
                $("#dock_error_subj").addClass("error");
            }
            if ($("select[name=dock_skibzy_subj_cat]").val() == '' && $("input[name=dock_cat_vis]").val() == 'yes') {
                alerts += "1";
                $("#dock_error_subj_cat").addClass("error");
            }
            if ($("textarea[name=dock_skibzy_msg]").val() == '') {
                alerts += "1";
                $("#dock_error_msg").addClass("error");
            }
            if ($("textarea[name=dock_skibzy_msg]").val().length < 10) {
                alerts += "1";
                $("#dock_error_msg").addClass("error");
            }

            if (alerts != '') {
                $("#dock_sending").addClass("hide");
            } else {
                $.ajax({
                    url: 'index.php',
                    type: 'POST',
                    contentType: 'application/x-www-form-urlencoded; charset=UTF-8',
                    data: $("#dock_skibzy_form").serialize(),
                    cache: false,
                    success: function (data) {
                        show_ok();
                    },
                    error: function () {
                        $("#msg_not_sent").removeClass("hide");
                        $("#dock_sending").addClass("hide");
                    }
                });
            }
            e.preventDefault();
        });

        $("#dock_skibzy_names").click(function (e) {
            e.preventDefault();
            $("#dock_error_name").removeClass("error");
        });

        $("#dock_skibzy_email").click(function (e) {
            e.preventDefault();
            $("#dock_error_email").removeClass("error");
        });

        $("#dock_skibzy_phone").click(function (e) {
            e.preventDefault();
            $("#dock_error_phone").removeClass("error");
        });

        $("#dock_skibzy_subj").click(function (e) {
            e.preventDefault();
            $("#dock_error_subj").removeClass("error");
        });

        $("#dock_skibzy_subj_cat").click(function (e) {
            e.preventDefault();
            $("#dock_error_subj_cat").removeClass("error");
        });

        $("#dock_skibzy_msg").click(function (e) {
            e.preventDefault();
            $("#dock_error_msg").removeClass("error");
        });

        $("#msg_sent").click(function (e) {
            e.preventDefault();
            $("#dock_msg_sent").addClass("hide");
            $("#dock_sending").addClass("hide");
        });

        function show_ok() {
            $("#dock_sending").addClass("hide");
            $("#dock_msg_sent").removeClass("hide");

            $("input").val('');
            $("select").val('');
            $("textarea").val('');
        }

        function validateEmail($email) {
            var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
            return emailReg.test($email);
        }

        function validateNumber($num) {
            var intReg = /^\d+$/;
            return intReg.test($num);
        }
    });
</script>

0 个答案:

没有答案