是否可以在一个页面上有多个联系表单,并且在不刷新页面的情况下仍然验证和发送电子邮件。
我已经使用了下面的教程,但如果明显复制,这仍然只验证原始表单......
http://www.ajaxfreak.com/2009/12/03/submit-a-form-without-page-refresh-using-jquery/
我可以为每个必需的表单复制 JS 等,但必须有一种更有效的方法来执行此操作,也许使用隐藏值和表单 ID?
有人有什么想法吗?
谢谢
是否可以在一个页面上有多个联系表单,并且在不刷新页面的情况下仍然验证和发送电子邮件。
我已经使用了下面的教程,但如果明显复制,这仍然只验证原始表单......
http://www.ajaxfreak.com/2009/12/03/submit-a-form-without-page-refresh-using-jquery/
我可以为每个必需的表单复制 JS 等,但必须有一种更有效的方法来执行此操作,也许使用隐藏值和表单 ID?
有人有什么想法吗?
谢谢
这当然是可能的,不幸的是,演示使用 ID 手动构建数据字符串,这并不容易转换为多种形式。在表单上使用 .serialize() 方法会更方便。
下面的(简化的)示例应该适用于页面上具有“ajax”类的任意数量的表单。将首先检查具有“必需”类的输入元素的值,如果缺少,将应用背景红色:
$('form.ajax').submit(function() {
var validates = true;
$(this).find('input.required').each(function() {
if($(this).val() == '') {
$(this).css('background', '#ff9999');
validates = false
} else {
$(this).css('background', '#ffffff');
}
}
if(validates) {
$.ajax({
type: "POST",
url: "bin/process.php",
$(this).serialize(),
success: function() {
// things to do on success here!
}
});
}
return false; // prevent normal form submission.
});