Javascript 预防默认-未按预期工作

Javascript 预防默认-未按预期工作,javascript,jquery,Javascript,Jquery,我有这段代码,我的想法是将数据发送到validation.php,但不提交表单。单击下面的代码simple时不执行任何操作。我的问题是,我不能允许提交默认操作,因为当按下按钮时,无论验证是否在PHP中有效,它都会重新加载到初始页面。如果我更改。单击至。提交,则会出现相同情况,重新加载页面 <script type="text/javascript" language="javascript"> $(document).ready(function() { $(

我有这段代码,我的想法是将数据发送到
validation.php
,但不提交表单。单击下面的代码simple时不执行任何操作。我的问题是,我不能允许提交默认操作,因为当按下按钮时,无论验证是否在PHP中有效,它都会重新加载到初始页面。如果我更改
。单击
。提交
,则会出现相同情况,重新加载页面

 <script type="text/javascript" language="javascript">

   $(document).ready(function() {

      $("#customForm").click(function(event){
         event.preventDefault();
         $.post("validation.php", {
             nameRegist: $('#nameRegist').val(),
             emailRegist: $('#emailRegist').val(),
             myPasswordRegist: $('#myPasswordRegist').val(),
             pass2Regist: $('#pass2Regist').val()
         });
      });

   });
   </script>


<form method="post" id="customForm" action="">
            <div>
                <label for="name">Name</label> 
                <input id="nameRegist" name="nameRegist" type="text" /> 
                <span id="nameInfo">Insira o seu nome</span>
            </div>
            <div>
                <label for="email">E-mail</label> 
                <input id="emailRegist" name="emailRegist" type="text" /> 
                <span id="emailInfo">Insira um email válido por favor!</span>
            </div>
            <div>
                <label for="myPassword">Password</label> 
                <input id="myPasswordRegist" name="myPasswordRegist" type="password" /> 
                <span id="myPasswordInfo">Insira pelo menos 4 letras e sem espaços</span>
                <div id="bar" style="width: 234px; height: 20px;"></div>
            </div>
            <div>
                <label for="pass2">Confirm Password</label> 
                <input id="pass2Regist" name="pass2Regist" type="password" /> 
                <span id="pass2Info">Confirme a password</span>
            </div>
            <div></div>
            <div>
                <input id="send" name="send" type="submit" value="Send" />
            </div>
        </form>

$(文档).ready(函数(){
$(“#自定义表单”)。单击(函数(事件){
event.preventDefault();
$.post(“validation.php”{
nameRegist:$('#nameRegist').val(),
emailRegist:$('#emailRegist').val(),
myPasswordRegist:$('#myPasswordRegist').val(),
pass2Regist:$('#pass2Regist').val()
});
});
});
名称
奥修诺姆酒店
电子邮件
Insira um电子邮件瓦利多帮个忙!
密码
因西拉·佩洛·梅诺斯4号酒店
确认密码
确认密码

-请点击绿色按钮(注册),然后提交(对不起,服务器坏了)

您是否应该
返回false?您只是发布数据而没有处理回调?你确认没有报告JS错误吗?你怎么知道什么都没有发生?您没有处理来自服务器的响应。您是否与Firebug(例如)确认未发送任何请求?如果要使用
.submit
(哪一个更好),则必须将事件处理程序附加到表单,而不是“提交”按钮。实际上,如果它什么也不做,这表明代码确实有效。否则站点将重新加载。我检查了sintaxe,未检测到任何错误。在firebug中,当我按下按钮时,请求就完成了。这可能是一个愚蠢的问题,但您是否引用了jQuery?也没有
。单击事件获取表单,最好使用
。提交
。重新加载页面。我将播放演示
$(document).ready(function() {

      $("#customForm").submit(function(event){
         $.post("validation.php", {
             nameRegist: $('#nameRegist').val(),
             emailRegist: $('#emailRegist').val(),
             myPasswordRegist: $('#myPasswordRegist').val(),
             pass2Regist: $('#pass2Regist').val()
         });
         event.preventDefault();
         return false;
      });
   });