peter_coop
asked on
form validation not correct in FF
hello
i am using a form with validation from:
http://www.raymondselda.com/php-contact-form-with-jquery-validation/
and am using thickbox to display it. In ie8, the validation message appears ok (see screengrab) within the thickbox window. However in FF, it opens the contact.php page itself and prints a totally different message (see screengrab). i would be grateful if someone could tell me where i have gone wrong. i have attached code for contact.php. many thanks.
ff-form-grab.png
i am using a form with validation from:
http://www.raymondselda.com/php-contact-form-with-jquery-validation/
and am using thickbox to display it. In ie8, the validation message appears ok (see screengrab) within the thickbox window. However in FF, it opens the contact.php page itself and prints a totally different message (see screengrab). i would be grateful if someone could tell me where i have gone wrong. i have attached code for contact.php. many thanks.
<?php
//If the form is submitted
if(isset($_POST['submit'])) {
//Check to make sure that the name field is not empty
if(trim($_POST['contactname']) == '') {
$hasError = true;
} else {
$name = trim($_POST['contactname']);
}
//Check to make sure that the subject field is not empty
if(trim($_POST['subject']) == '') {
$hasError = true;
} else {
$subject = trim($_POST['subject']);
}
//Check to make sure sure that a valid email address is submitted
if(trim($_POST['email']) == '') {
$hasError = true;
} else if (!eregi("^[A-Z0-9._%-]+@[A-Z0-9._%-]+\.[A-Z]{2,4}$", trim($_POST['email']))) {
$hasError = true;
} else {
$email = trim($_POST['email']);
}
//Check to make sure comments were entered
if(trim($_POST['message']) == '') {
$hasError = true;
} else {
if(function_exists('stripslashes')) {
$comments = stripslashes(trim($_POST['message']));
} else {
$comments = trim($_POST['message']);
}
}
//If there is no error, send the email
if(!isset($hasError)) {
$emailTo = 'youremail@yoursite.com'; //Put your own email address here
$body = "Name: $name \n\nEmail: $email \n\nSubject: $subject \n\nComments:\n $comments";
$headers = 'From: My Site <'.$emailTo.'>' . "\r\n" . 'Reply-To: ' . $email;
mail($emailTo, $subject, $body, $headers);
$emailSent = true;
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>PHP Contact Form with JQuery Validation</title>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<script src="js/jquery-1.3.2.min.js" type="text/javascript"></script>
<script src="js/jquery.validate.js" type="text/javascript"></script>
<link rel="stylesheet" href="css/contact.css" type="text/css" media="screen" />
<script type="text/javascript">
$(document).ready(function(){
$("#contactform").validate();
});
</script>
</head>
<body bgcolor="#CCCCCC"><div id="contactheading">Contact Form<div id="contactheadingTxt">Please use this form to contact us for General enquries. If you need support
please use the Support option in the menu. Thank you.</div></div><br />
<div id="contact-wrapper">
<?php if(isset($hasError)) { //If errors are found ?>
<p class="error">Please check if you've filled all the fields with valid information. Thank you.</p>
<?php } ?>
<?php if(isset($emailSent) && $emailSent == true) { //If email is sent ?>
<p><strong>Email Successfully Sent!</strong></p>
<p>Thank you <strong><?php echo $name;?></strong> for using my contact form! Your email was successfully sent and I will be in touch with you soon.</p>
<?php } ?>
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" id="contactform">
<div>
<label for="name"><strong>Name:</strong></label>
<input type="text" size="50" name="contactname" id="contactname" value="" class="required" />
</div>
<div>
<label for="email"><strong>Email:</strong></label>
<input type="text" size="50" name="email" id="email" value="" class="required email" />
</div>
<div>
<label for="subject"><strong>Subject:</strong></label>
<input type="text" size="50" name="subject" id="subject" value="" class="required" />
</div>
<div>
<label for="message"><strong>Message:</strong></label>
<textarea rows="5" cols="50" name="message" id="message" class="required"></textarea>
</div>
<input type="submit" value="Send Message" name="submit" />
</form>
</div>
</body>
</html>
ie-form-grab.pngff-form-grab.png
Are you using Firebug? If so, try turning it off and then test Firefox again. Be sure to completely close and restart the browser.
ASKER
still the same ray. even cleared the cache. thanks
Thanks for checking. Next possibility. Please run this script and look for the setting for "register_globals"
<?php phpinfo();
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Great, glad you got it sorted out.
ASKER
see thread for solution