我在这里有一个fancybox内联表格
http://keith464.fahrradhamburg.de/Messen/
第1点 - 当我尝试发送表单时,它“中断”/我收到以下错误
未捕获TypeError:对象[object Object]没有方法'on'
- 这是为这条线
$("#send").on("click", function(){
忽略该错误,并将其更改为
$("#messform").submit(function() {
我遇到了一个新问题,当fancybox关闭时,它会重定向页面,我该如何阻止它?
答案 0 :(得分:0)
$("#messform").submit(function() {
正在调用表单操作,因此请在里面使用return false;
。不知道这是不是问题,但试一试:)
答案 1 :(得分:0)
只是要明确你希望只改变fancybox的内容吗?
如果是这种情况,那么我建议如下:
$("#messform").submit(function() {
var emailval = $("#contactEmail").val();
var msgval = $("#c_message").val();
var msglen = msgval.length;
var mailvalid = validateEmail(emailval);
var mailvalid = true;
var msgval = $("#c_message").val();
var msglen = msgval.length;
if(mailvalid == true && msglen >= 4) {
// if both validate we attempt to send the e-mail
// first we hide the submit btn so the user doesnt click twice
$("#send").replaceWith("<em>sending...</em>");
$.ajax({
type: 'POST',
url: 'sendmesse.php',
data: $("#messform").serialize(),
success: function(data) {
if(data == "true") {
$("#messform").fadeOut("fast", function(){
$(this).before("<strong>Success! Your feedback has been sent, thanks :)</strong>");
// setTimeout($.fancybox.close(), 1000);
// $('.fancybox').close();
// $.fancybox.close();
setTimeout(function(){ $.fancybox.close();}, 1000);
});
}
}
});
}
//这一部分非常重要,因为您使用的是ajax帖子,因此您可能希望忽略正常的表单提交。 返回false; }); });