Javascript 无法使用jQuery正确处理过帐表单

Javascript 无法使用jQuery正确处理过帐表单,javascript,jquery,Javascript,Jquery,我正在尝试从mail.php获取返回,但它不起作用。我错过了什么 这是我的表格 <form name="myform" id="myform" action="" method="POST"> <input type="text" name="email" id="email" size="30" value=""/> <input type="submit" name="button" id="button" value="Αποστολή"> <

我正在尝试从mail.php获取返回,但它不起作用。我错过了什么

这是我的表格

<form name="myform" id="myform" action="" method="POST"> 
<input type="text" name="email" id="email" size="30" value=""/> 
<input type="submit" name="button" id="button" value="Αποστολή">
</form>
此脚本可与jQuery验证一起正常工作

$(document).ready(function(){
    $("#myform").validate({

        submitHandler: function(form) {
            // do other stuff for a valid form
            $.post('mail.php', $("#myform").serialize(), function(data) {
                $('#results').hide().html(data).fadeIn('slow');
            });
        }
    });
});
取消表单提交,因为您已经在ajax中完成了

更新

这是未经验证的情况下的外观:

$(function(){
    $("#myform").submit(function(event){
        event.preventDefault();

        // do other stuff for a valid form
        $.post('mail.php', $("#myform").serialize(), function(data) {
            $('#results').hide().html(data).fadeIn('slow');
        });
    });
});
不同之处在于,您是从(使用
$(“#myform”).serialize()
)表单发送序列化数据的。在前面的代码中,您没有发送任何变量。序列化意味着它将接受表单的值并将它们连接成单个字符串。请在此处阅读更多信息:

取消表单提交,因为您已经在ajax中完成了

更新

这是未经验证的情况下的外观:

$(function(){
    $("#myform").submit(function(event){
        event.preventDefault();

        // do other stuff for a valid form
        $.post('mail.php', $("#myform").serialize(), function(data) {
            $('#results').hide().html(data).fadeIn('slow');
        });
    });
});

不同之处在于,您是从(使用
$(“#myform”).serialize()
)表单发送序列化数据的。在前面的代码中,您没有发送任何变量。序列化意味着它将接受表单的值并将它们连接成单个字符串。请在此阅读更多信息:

看起来您没有发送表单数据:

 $("#myform").submit(function(event) { 

     event.preventDefault(); 

     $.post("mail.php", $("#myform").serialize(), 
          function(data) {
            $('#results').html(data); 
     });


});

如果ajax出现错误或由于某种原因导致js停止,则在ajax调用之前阻止默认行为会阻止表单提交。

看起来您没有发送表单数据:

 $("#myform").submit(function(event) { 

     event.preventDefault(); 

     $.post("mail.php", $("#myform").serialize(), 
          function(data) {
            $('#results').html(data); 
     });


});
$(function() {
    $("#myform").submit(function(e) {

        e.preventDefault();

        var data = $(this).serialize();

        $.post('mail.php', data, function(response) {
            $('#results').html(response);
        });

    });
});
如果ajax出现错误或由于某种原因导致js停止,则在ajax调用之前阻止默认行为会阻止表单提交

$(function() {
    $("#myform").submit(function(e) {

        e.preventDefault();

        var data = $(this).serialize();

        $.post('mail.php', data, function(response) {
            $('#results').html(response);
        });

    });
});
您有语法错误,并且没有阻止默认的单击事件


您有一个语法错误,并且没有阻止默认的单击事件。

我不知道,它会保留refreshing@Giorkouros在粘贴的代码中,末尾缺少
}
。。复制并粘贴此答案中的代码,然后试用。如果这不起作用,你能把剩下的代码贴出来吗?他似乎没有向表单发送数据。所以它停止了,但我认为如果没有数据到
mail.php
@jk,任何事情都不会发生。他说这让人耳目一新,这意味着事件预防不起作用。我已经用上次提交的有效答案更新了我的答案。它与jQuery验证一起工作,但我想删除验证。我不知道,它保留refreshing@Giorkouros在粘贴的代码中,末尾缺少
}
。。复制并粘贴此答案中的代码,然后试用。如果这不起作用,你能把剩下的代码贴出来吗?他似乎没有向表单发送数据。所以它停止了,但我认为如果没有数据到
mail.php
@jk,任何事情都不会发生。他说这让人耳目一新,这意味着事件预防不起作用。我已经用上次提交的有效答案更新了我的答案。它与jQuery验证一起工作,但我想删除验证。