2010-11-01 131 views
0

是否有可能在一個頁面上有多個聯繫表單,並且仍然驗證併發送電子郵件而不刷新頁面。頁面上的多個聯繫表格PHP - 無頁面刷新

我已經使用了下面的教程,但如果明顯複製這仍然只驗證的原始形態......

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

我可以複製了JS等爲每個需要的表格,但必須有一個更有效的方式做到這一點,也許隱藏的值&窗體ids ?.

有人有什麼想法嗎?

感謝

回答

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. 
});