0

これは私の最初の投稿です。これは非常に新しいものです。ボタンを押すとjqueryで開くお問い合わせフォームがあります。PHP を使用してこのフォームを送信すると、ボックスが再び閉じて、[フォームを表示] ボタンしか表示されなくなります。これをクリックすると、ボックス/フォームが再び開き、フォームが送信されますが、「送信していただきありがとうございます」というメッセージを表示するためにボックスを開いたままにしておきたいのですが、助けていただければ幸いです。ありがとう。ここに私のjqueryとphpがあります:

(function() {
    $('html').addClass('js');
    var contactForm = {
    container: $('#contact'),

    config: {
        effect: 'slideToggle',
        speed: 500
    },

    init: function(config) {
        $.extend(this.config, config);

        $('<button></button>', {
            text: 'view form'
        })
            .insertAfter( '.show-form' )
            .on( 'click', this.show );
    },

    show: function() {
        var cf = contactForm,
            container = cf.container,
            config = cf.config;

        if ( container.is(':hidden') ) {
            contactForm.close.call(container);
            container[config.effect](config.speed);
        }
    },

    close: function() {
        var $this = $(this), // #contact
            config = contactForm.config;

        if ( $this.find('span.close').length ) return;

        $('<span class=close>X</span>')
            .prependTo(this)
            .on('click', function() {
                // this = span
                $this[config.effect](config.speed);
            })
        }
    };
            contactForm.init({
        // effect: 'fadeToggle',
        speed: 300
    });

})();


<form>

<?php
function spamcheck($field)
  {
  //filter_var() sanitizes the e-mail
  //address using FILTER_SANITIZE_EMAIL
  $field=filter_var($field, FILTER_SANITIZE_EMAIL);

  //filter_var() validates the e-mail
  //address using FILTER_VALIDATE_EMAIL
  if(filter_var($field, FILTER_VALIDATE_EMAIL))
    {
    return TRUE;
    }
  else
    {
    return FALSE;
    }
  }

if (isset($_REQUEST['email']))
  {//if "email" is filled out, proceed

  //check if the email address is invalid
  $mailcheck = spamcheck($_REQUEST['email']);
  if ($mailcheck==FALSE)
    {
    echo "Error - Please check your details";
    }
  else
    {//send email
    $email = $_REQUEST['email'] ;
    $subject = $_REQUEST['subject'] ;
    $message = $_REQUEST['message'] ;
    mail("myemail@hotmail.co.uk", "Subject: $subject",
    $message, "From: $email" );
    echo "Thank you for your query.";
    }
  }
else
  {//if "email" is not filled out, display the form
  echo "<form method='post' action='thanks.php'>
  Email: <input name='email' type='text' /><br /><br />
  Subject: <input name='subject' type='text' /><br /><br />
  Message:<br />
  <textarea name='message' rows='5' cols='40'>
  </textarea><br />
  <input type='submit' />
  </form>";
  }
?>
4

0 に答える 0