response from a submitted contact form

Status
Niet open voor verdere reacties.

JohanLeemkuil

Nieuwe gebruiker
Lid geworden
11 sep 2014
Berichten
2
Hi, ik heb van een mooi JS script gebruikt van stackoverflow.com zie URL=http://stackoverflow.com/questions/18171017/show-submitted-form-response-on-the-same-page-no-reload/18171064#18171064

Deze werkt niet helemaal - geen bericht ($message) in email ??

JS CODE form.html
HTML:
<HTML>
<HEAD>
   <TITLE> Forms Testing w/ custom response</TITLE>
<script type="text/javascript" src="assets/jquery-1.10.1.min.js"></script>
</HEAD>
<BODY>
    

<form id="contactForm" action="email.php" Method="POST">
    <label for="name">Your Name</label>
    <input name="name" type="text" required placeholder="Please enter your name">

    <label for="email">Email Address</label>
    <input name="email" type="email" required placeholder="Please enter your email address here">

    <label for="message">Message</label>
    <textarea name="message" required></textarea>  

    <button type="submit">Send</button>
</form>


<div id="contactResponse"></div>


<script>
     $("#contactForm").submit(function(event) 
     {
         /* stop form from submitting normally */
         event.preventDefault();

         /* get some values from elements on the page: */
         var $form = $( this ),
             $submit = $form.find( 'button[type="submit"]' ),
             name_value = $form.find( 'input[name="name"]' ).val(),
             email_value = $form.find( 'input[name="email"]' ).val(),
             message_value = $form.find( 'textarea[name="message"]' ).val(),
             url = $form.attr('action');

         /* Send the data using post */
         var $posting = $.post( url, { 
                           name: name_value, 
                           email: email_value, 
                           message: message_value 
                       });

         posting.done(function( data )
         {
             /* Put the results in a div */
             $( "#contactResponse" ).html(data);

             /* Change the button text. */
             $submit.text('Sent, Thank you');

             /* Disable the button. */
             $submit.attr("disabled", true);
         });
    });
</script>
</BODY>
</HTML>
PHP CODE email.php
PHP:
<?php

    $name    = $_POST['name'];
    $email   = $_POST['email'];
    $message = $_POST['message'];

    $to      = "johan@heartseats.nl";
    $subject = "";
    $message = "";
    $headers = "From: $email";

    if( mail($to,$subject,$message,$headers) )
    {
        echo "<h2>Thank you for your </h2>";
    }
    else
    {
        echo "<h2>Sorry, there has been an error</h2>";
    }

?>
je kan het werkend zien op www.heartseats.nl/test/form.html
 
Laatst bewerkt door een moderator:
In email.php overschrijf je de opgehaalde inhoud van $message opnieuw met een lege string; je maakt het dus expliciet leeg.
 
Thanxs Johantrax voor je snelle reactie, het werkt nu :)

Thanxs Johantrax voor je snelle reactie, het werkt nu :)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan