【发布时间】:2014-04-01 23:06:26
【问题描述】:
当我单击表单的提交按钮时,由于“表单已发送”页面上的 PHP,我被重定向。请问如何使用 jQuery 验证表单插件保持在同一页面中?
PHP 文件
<?php
// [I HAVE CUT THE CODE]
if(mail($to, $subject, $message, $headers)){
echo "Form sent";
} else {
echo "Form not sent";
}
?>
JQUERY 文件
$("#form-contact").validate({
submitHandler: function(form) {
$('.btn-validate-group:visible').hide();
$('.message-success').fadeIn(1000);
form.submit();
}
});
HTML 文件
<form id="form-contact" action="php/traitement.php" method="post"></form>
更新 1
submitHandler: function(form) {
$('.btn-validate-group:visible').hide();
$('.message-success').fadeIn(1000);
$.ajax({
type: "POST",
url: url,
data: data,
success: function(result){ console.log("success!", result);},
dataType: dataType
});
return false;
}
我总是被重定向到“表单已发送”页面。我对 Ajax 一无所知:-/
更新 2
【问题讨论】:
-
您是否收到任何 JavaScript 控制台错误? 再次...表单的 HTML 标记在哪里?我没有看到任何符合您的
.validate()规则的输入字段。 -
您的 jsFiddle 应该可以帮助我在这里弄清楚一些事情,但是您仍然需要将相关代码放入您的 OP 中。只是一个简洁的例子。见sscce.org
-
这里一切正常,jsfiddle.net/2pLS2/26,但显然我无法从 jsFiddle 测试你的 ajax。
标签: javascript jquery jquery-validate