经过数百个问题后,所提供的解决方案都没有解决我的问题。我的问题很简单,我有一个用于发送电子邮件的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>