Несколько контактных форм на одной странице - PullRequest
1 голос
/ 08 июня 2019

В настоящее время я создаю фиктивный сайт и хочу создать несколько форм на одной странице.

Поэтому, когда вы нажимаете на каждую службу, вы можете отправить форму для запроса котировки.У меня первая форма работает нормально, однако, когда я отправляю вторую форму, она просто отправляет данные из первой?

Для второй формы я просто заменил идентификатор на contactform2 вместо contactform, как показано ниже.


  <div id="registerpremium" class="modal fade">
    <div class="modal-dialog modal-lg" role="document">
      <div class="modal-content">
        <div class="modal-header col-md-12">
          <img class=" logo_h modallogo" src="img/logo.svg">
          <button type="button" class="close" data-dismiss="modal" aria-label="Close">
          <span aria-hidden="true">&times;</span>
          </button>
        </div>
  <div class="modal-body signupmessage">
        <img src="img/marketing.svg" alt="" class="img-fluid modalicon">
        <h3 class="col-md-12  formtext py-4">eCommerce Premium</h3>
        <p class="text-center">Please fill in the form below, we will then send you an email to confirm where to send your products.</p>
          <form id="contactform" method="post" name="contactform"  onsubmit="return false;">
            <div class="form-group pt-3">
              <label class="sr-only pt-5" for="name">Name</label>
              <input type="text" class="form-control form-control-danger form-control-lg" name="name" id="Name" placeholder="Name*">
            </div>
            <div class="form-group">
              <label class="sr-only" for="mail">Email</label>
              <input type="email" class="form-control form-control form-control-lg" name="email" id="mail" placeholder="Email*">
            </div>
             <div class="form-group">
              <label class="sr-only" for="mail">Phone Number</label>
              <input type="phone" class="form-control form-control form-control-lg" name="phone" id="phone" placeholder="Phone Number">
            </div>
            <div class="row">
            <div class="col-md-12">
            <div class="form-group">
                <input type="checkbox" id="gdpr" name="gdpr" class="form-control md-textarea"></textarea>
                <label for="gdpr" name="gdprlabel">I have read and consent to my data being collected as outlined in the <a href="test" target="_blank" class="disclaimerLink">Disclaimer</a></label>
            </div>
            </div>
          </div>
            <div class="modal-footer py-4">
              <button type="submit" class="button button-header bg">Submit</button>
            </div>
          </form>
          </div>
        </div>
      </div>
  </div>

Для второй формы я просто заменил идентификатор на contactform2

      $('#contactform2').validate({
        rules: {
          name: {
            required: true
          },
            email: {
                required: true,
                email: true
            },
            gdpr: {
            required: true
          }

        },
        errorPlacement: function(){
              return false;
          },
        submitHandler: function(){
          var contactform = $('#contactform2').serialize();
              $.ajax({
                type: "POST",
                url: 'ajax.php',
                data: { 
                    contactform: contactform
                },
                success: function(data){
                  $('#contactform2').hide();
                  $('.signupmessage').html('<p id="successmessage">' + data + '</p>');
                },
                error: function(xhr,textStatus,err){
                  console.log("readyState: " + xhr.readyState);
                  console.log("responseText: "+ xhr.responseText);
                  console.log("status: " + xhr.status);
                  console.log("text status: " + textStatus);
                  console.log("error: " + err);
                }
              });
        }
      });

PHP для второй формы, если вы удалите форму 2 после контакта, которую я использую дляпервая форма.Причина, по которой я знаю, что отправляет первую форму, заключается в том, что у меня есть тест вместо test2 в теме, заголовке и т. Д.


<?php 

        if (isset($_POST['contactform2'])) {
            parse_str($_POST['contactform2'], $contactformData);

            $name = $contactform2Data['name'];
            $email = $contactform2Data['email'];
            $phone = $contactform2Data['phone'];
            $to  = 'hello@samuelrhys.com'; //change to desired recepient 
            $subject = "test2";
            $message = "test2". "\n" .$name. "\n" .$email. "\n" .$phone. "\n" .$message;
            $headers = "test2" . "\r\n"; //change domain to that of Poppyfields
            $result = mail($to, $subject, $message, $headers);
            if ($result) {
                echo "Thanks for contacting us, we'll be in touch soon!";
            } else {
                echo "Uh oh. We couldn't deliver your request at this time.";
            }

        }

?>

Моя вторая форма html


  <div id="registerstandard" class="modal fade">
    <div class="modal-dialog modal-lg" role="document">
      <div class="modal-content">
        <div class="modal-header col-md-12">
          <img class=" logo_h modallogo" src="img/logo.svg">
          <button type="button" class="close" data-dismiss="modal" aria-label="Close">
          <span aria-hidden="true">&times;</span>
          </button>
        </div>
  <div class="modal-body signupmessage">
        <img src="img/marketing.svg" alt="" class="img-fluid modalicon">
        <h3 class="col-md-12  formtext py-4">eCommerce Standard</h3>
        <p class="text-center">Please fill in the form below, we will then send you an email to confirm where to send your products.</p>
          <form id="contactform2" method="post" name="contactform2"  onsubmit="return false;">
            <div class="form-group pt-3">
              <label class="sr-only pt-5" for="name">Name</label>
              <input type="text" class="form-control form-control-danger form-control-lg" name="name" id="Name" placeholder="Name*">
            </div>
            <div class="form-group">
              <label class="sr-only" for="mail">Email</label>
              <input type="email" class="form-control form-control form-control-lg" name="email" id="mail" placeholder="Email*">
            </div>
             <div class="form-group">
              <label class="sr-only" for="mail">Phone Number</label>
              <input type="phone" class="form-control form-control form-control-lg" name="phone" id="phone" placeholder="Phone Number">
            </div>
            <div class="row">
            <div class="col-md-12">
            <div class="form-group">
                <input type="checkbox" id="gdpr" name="gdpr" class="form-control md-textarea"></textarea>
                <label for="gdpr" name="gdprlabel">I have read and consent to my data being collected as outlined in the <a href="http://www.hopkinsons.net/privacy-policy" target="_blank" class="disclaimerLink">Disclaimer</a></label>
            </div>
            </div>
          </div>
            <div class="modal-footer py-4">
              <button type="submit" class="button button-header bg">Submit</button>
            </div>
          </form>

          </div>
        </div>
      </div>
  </div>

1 Ответ

0 голосов
/ 08 июня 2019

Вам необходимо изменить значение тега name в HTML для запроса доступа к посту из PHP !!

...