Endless loop error in php and jQuery contact form

miranda

New Member
Arrg.I can't spot the endless loop in this contact form. The "thanks" div endlessly prints after the form submission. What am I missing? Is the error php or also jQuery? (In the working file, the JS is included via \[code\]<script type="text/javascript" src="http://stackoverflow.com/questions/3558599/contact.js"></script>\[/code\])Thanks\[code\]<?php if(isset($_POST['submitted'])) {if(trim($_POST['checking']) !== '') {$captchaError = true;} else {if(trim($_POST['email']) === '') {$emailError = 'Please enter a valid email address';$hasError = true;} else if (!eregi("^[A-Z0-9._%-]+@[A-Z0-9._%-]+\.[A-Z]{2,4}$", trim($_POST['email']))) {$emailError = 'That\'s not a valid email address';$hasError = true;} else {$email = trim($_POST['email']);}}if(!isset($hasError)) {$emailTo = 'to email';$subject = 'site email';$body = "$email";$headers = 'From: webmail';mail($emailTo, $subject, $body, $headers);$emailSent = true;}} ?><script type="text/javascript">$(document).ready(function() { $('form#contactForm').submit(function() { $('form#contactForm .error').remove(); var hasError = false; $('.requiredField').each(function() { if($(this).hasClass('email')) { var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/; if(!emailReg.test(jQuery.trim($(this).val()))) { var labelText = $(this).prev('label').text(); $(this).parent().append('<span class="error">&nbsp;&nbsp;<i>invalid email</i></span>'); hasError = true; } } }); if(!hasError) { $('#thanks').fadeOut('normal', function() {$(this).parent().append('<img src="http://stackoverflow.com/questions/loading-small.gif" alt="Loading&hellip;" height="31" width="31" />'); }); var formInput = $(this).serialize(); $.post($(this).attr('action'),formInput, function(data){ $('form#contactForm').slideUp("fast", function() { $(this).before('<p class="thanks">&nbsp;<strong>Thanks!</strong>'); $(".thanks").delay(3000).fadeOut(); }); }); } return false; });});</script><?php if(isset($emailSent) && $emailSent == true) { ?><div class="thanks"></div><?php } else { ?><form action="http://mysite.com" id="contactForm" method="post">Sign up for email notification <input type="text" name="email" size="30" id="email" value="http://stackoverflow.com/questions/3558599/<?php if(isset($_POST['email'])) echo $_POST['email'];?>" class="requiredField email" /><?php if($emailError != '') { ?><span class="error"><?=$emailError;?></span><?php } ?><input type="hidden" name="submitted" id="submitted" value="http://stackoverflow.com/questions/3558599/true" /><button type="submit">Send</form><?php } ?>\[/code\]
 
Back
Top