Несколько контактных форм на странице PHP — без обновления страницы

Возможно ли иметь несколько контактных форм на одной странице и при этом проверять и отправлять электронное письмо без обновления страницы.

Я использовал приведенный ниже учебник, но если его скопировать, очевидно, это все равно подтверждает только исходную форму...

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

Я мог бы скопировать JS и т. д. для каждой из необходимых форм, но должен быть более эффективный способ сделать это, возможно, со скрытыми значениями и идентификаторами форм?

У кого-нибудь есть идеи?

Спасибо


person Haribo83    schedule 01.11.2010    source источник


Ответы (1)


Это, безусловно, возможно, но, к сожалению, демонстрационная версия вручную создает строку данных с использованием идентификаторов, что затрудняет преобразование в несколько форм. Было бы гораздо удобнее использовать на форме метод .serialize().

Следующий (упрощенный) пример должен работать для любого количества форм на странице, имеющих класс «ajax». Элементы ввода с классом 'required' сначала будут проверены на наличие значения, и если оно отсутствует, к ним будет применен красный цвет фона:

$('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.
});
person Hamish    schedule 01.11.2010