【发布时间】:2011-06-09 22:52:43
【问题描述】:
我有一个使用 jquery 验证的表单。表单的 id 是“contact”,它位于一个名为“formdiv”的 div 中。
我希望它在提交时,而不是将我带到新页面“contact_received.php”,而是将“formdiv”的内容替换为“contact_received.php”的内容,包括提交的 $_GET 数据。 (例如:echo 'thank you, '.$_GET['name'].' 联系我们,我们会尽快回复您关于 '.$_GET['message'])。我在网上寻找了类似的东西并想我会使用 jquery 提交处理程序:
$("#contact").validate({
rules: {SOME RULES-clipped for length},
messages: {SOME MESSAGES-clipped for length},
submitHandler: function() {
$.ajax({
url: '/contact_received.php',
type: "GET",
data: datastring,
cache: false,
success: function (html) {
$('#formdiv').fadeOut('slow',complete);
function complete() {
$('#formdiv').fadeIn('slow').html(html);
$('.loading').hide();
}
}
});
}
});
表格代码在这里:
<div id="formdiv">
<form id="contact" name="contact" action="/contact_received.php" method="get">
Your Name
<input type="text" name="name" id="name" value="" style="display:block;">
Your Email
<input type="text" name="email" value="" style="display:block;">
messsage
<textarea name="message" cols="50" rows="5" style="display:block;"></textarea>
<input type="submit" class="btn" value=
"Contact Us" name="Submit">
</form>
</div>
这不会破坏验证,但它只会让我直接进入contact_received.php 页面。我做错了什么?
【问题讨论】:
-
要清楚,验证工作正常,除了我不想提交之外,一切都很好。我应该从表单中删除“操作”吗?
-
是的,试试看。我更新了我的答案。
标签: jquery ajax validation