Javascript 将提交事件附加到我的表单时,表单使用默认处理程序提交
这发生在IE和Firefox中。不是镀铬的 我有以下表格:Javascript 将提交事件附加到我的表单时,表单使用默认处理程序提交,javascript,jquery,html,ajax,forms,Javascript,Jquery,Html,Ajax,Forms,这发生在IE和Firefox中。不是镀铬的 我有以下表格: <form id="enviaEmail" method="post"> <label for="nombre">Nombre</label> <input id="nombre" type="text" name="nombre" required="" /> <label for="apel
<form id="enviaEmail" method="post">
<label for="nombre">Nombre</label>
<input id="nombre" type="text" name="nombre" required="" />
<label for="apellido">Apellido</label>
<input id="apellido" type="text" name="apellido" required="" />
<label for="email">E-mail</label>
<input id="email" type="email" name="email" required="" />
<label for="telefono">Teléfono</label>
<input id="telefono" type="text" name="telefono" />
<label for="mensaje">Comentarios</label>
<textarea id="mensaje" name="mensaje" required="" ></textarea>
<input id="submit" type="submit" name="submit" value="Enviar" />
</form>
问题在于,在chrome中,一切都是完美的。也就是说,我填写表单,然后当我按下“提交”按钮时,表单使用自定义事件处理程序中的代码发送帖子
在Firefox或IE中,当我按下submit按钮时,表单将使用默认处理程序提交,因此整个页面将重新加载。我可以意识到这一点,因为如果我在处理程序中放置警报,它不会显示
这里怎么了
控制台中没有显示错误,所以HTML或Javascript中似乎没有错误
谢谢
Jaime旧IE版本有
event.returnValue=false
尝试以下操作以支持IE和其他浏览器:
event.default?event.preventDefault():event.returnValue=false代码>
什么版本的jQuery?它是jQuery v1.11.1,是IE 11,也是Firefox的最新版本
(function ($) {
$(document).ready(function () {
// ação que oculta a mensagem ao clicar no x
$(".close").on('click', function () {
$(this).parent().fadeOut();
})
// REQUISIÇÃO AJAX ENVIO DE E-MAIL
$("#enviaEmail").on("submit", function (event) {
event.preventDefault();
// pega todos inputs
var value = $(this).serializeArray(),
// objeto de dados para requisição
request = {
'option': 'com_ajax',
'module': 'wgajaxcontato',
'data': value,
'format': 'jsonp'
};
// requisição ajax
$.ajax({
type: 'POST',
data: request,
beforeSend: function () {
$('.hum_form_contact .formulario .loading').fadeIn().css('display', 'table');
$("#enviaEmail #submit").attr("disabled", true);
},
success: function (resposta) {
$("#resposta").fadeIn().html(resposta).delay(5000);
//$("#resposta").fadeIn().html(resposta).delay(5000).fadeOut(500);
},
complete: function () {
$(".hum_form_contact .formulario .loading").fadeOut().css('display', 'none');
$("#enviaEmail #submit").attr("disabled", false);
$("#nombre").val("");
$("#apellido").val("");
$("#email").val("");
$("#assunto").val("");
$("#telefono").val("");
$("#mensaje").val("");
$("#sccaptcha").val("");
}
});
});
});
})(jQuery);