0

是否可以在一个页面上有多个联系表单,并且在不刷新页面的情况下仍然验证和发送电子邮件。

我已经使用了下面的教程,但如果明显复制,这仍然只验证原始表单......

http://www.ajaxfreak.com/2009/12/03/submit-a-form-without-page-refresh-using-jquery/

我可以为每个必需的表单复制 JS 等,但必须有一种更有效的方法来执行此操作,也许使用隐藏值和表单 ID?

有人有什么想法吗?

谢谢

4

1 回答 1

0

这当然是可能的,不幸的是,演示使用 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.
});
于 2010-11-01T22:39:19.280 回答