我有这段代码,我的想法是发送数据到validation.php
,但没有提交表单。下面的代码在单击时不会执行任何操作。我的问题是,我不能允许提交默认操作,因为当按下按钮时,无论验证是否有效,都会重新加载到初始页面。如果我将.click
更改为.submit
发生同样的情况,页面将被重新加载。preventDefault - 不按预期工作
<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>
http://emprego.xtreemhost.com/login/emprego.php - 请点击绿色按钮(雷吉斯托),然后提交(对不起FOT坏服务器)
你不应该'返回false;'? – Jan 2011-04-10 15:59:07
你只是发布数据而不处理回调?你确认没有JS错误报告? – JohnP 2011-04-10 15:59:56
你怎么知道什么都没有发生?您没有处理来自服务器的响应。您是否使用过没有请求被发送的Firebug?如果你想使用'.submit'(这更好),你必须将事件处理程序附加到表单而不是提交按钮。实际上,如果它什么都不做,这表明代码确实有效。否则,该网站将重新加载。 – 2011-04-10 16:01:36