0

Hi Guys, I'm trying to do up a contact form that after a user submits the information, the drop down contact box will slide back up instead of redirecting to another page. The script works fine in Chrome and Safari, but Firefox and IE keeps redirecting to the php page. Hope someone can shed some light here, thanks!

Html form:

<div class="left">
				<!-- Login Form -->
				<form class="clearfix" action="contactengine.php" name="cform" method="post">
					<h4>Drop us a mail</h4>
					<label class="grey" for="emailName">Name:</label>
					<input class="field" type="text" name="emailName" id="emailName" value="" size="23" />
					<label class="grey" for="emailFrom">Email Address:</label>
					<input class="field" type="text" name="emailFrom" id="emailFrom" value="" size="23" />
					<label class="grey" for="message">Message:</label>
                    <textarea type="text" name="message" id="message" size="23"></textarea>
        			<div class="clear"></div>
					<input type="submit" rows="" cols="" name="submit" value="Submit" class="bt_register" />
					<span id="messageSent">Message sent successfully!</span>
				</form>
				<script language="JavaScript" type="text/javascript">
//You should create the validator only after the definition of the HTML form
  var frmvalidator  = new Validator("cform");
  frmvalidator.addValidation("emailName","req","Please enter your Name");
  frmvalidator.addValidation("emailName","maxlen=20",	"Max length for Name is 20");
  
  frmvalidator.addValidation("emailFrom","maxlen=50",	"Max length for email is 50");
  frmvalidator.addValidation("emailFrom","req","Please enter your Email");
  frmvalidator.addValidation("emailFrom","email","Please enter a valid email");

</script>
			</div>
			<div class="left right">			
				<!-- Register Form -->
					<h4>Contact Details</h4>				
					<p class="grey"><b>XXX<br /></b>XXX<br />XXX<br />XXX</p>
					<p class="grey">T: 999<br />F: 999</p>
					<h5>Stalk Us</h5>
					<a href="index.html"><img src="misc/fb.png" border="0" alt="Facebook" /></a> <a href="index.html"><img src="misc/twit.png" border="0" alt="Twitter" /></a>
										</div>
					</div>
					</div> 

	<!-- The tab on top -->	
	<div class="tab">
		<ul class="login">
			<li class="left">&nbsp;</li>
			<li>Hello there</li>
			<li class="sep">|</li>
			<li id="toggle">
				<a id="open" class="open" href="#">Contact Us</a>
				<a id="close" style="display: none;" class="close" href="#">Close Panel</a>			
			</li>
			<li class="right">&nbsp;</li>
		</ul> 
	</div> <!-- / top -->

Slider JS:

$(document).ready(function() {
	
	// Expand Panel
	$("#open").click(function(){
		$("div#panel").slideDown("slow");
	
	});	
	
	// Collapse Panel
	$("#close").click(function(){
		$("div#panel").slideUp("slow");	
	});		
	
	// Switch buttons from "Hey There | Contact us" to "Close Panel" on click
	$("#toggle a").click(function () {
		$("#toggle a").toggle();
	});		
	
   //submission scripts
  $('div#panel').submit( function(){
		//statements to validate the form	
		var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
		var email = document.getElementById('emailFrom');
		if (!filter.test(emailFrom.value)) {
			$('.email-missing').show();
		} else {$('.email-missing').hide();}
		if (document.cform.emailName.value == "") {
			$('.name-missing').show();
		} else {$('.name-missing').hide();}	
		if (document.cform.message.value == "") {
			$('.message-missing').show();
		} else {$('.message-missing').hide();}		
		if ((document.cform.emailName.value == "") || (!filter.test(email.value)) || (document.cform.message.value == "")){
			return false;
		} 
		
		if ((document.cform.emailName.value != "") && (filter.test(email.value)) && (document.cform.message.value != "")) {
			//hide the form
			$('.div#panel').hide();
		
			//show the loading bar
			$('.loader').append($('.bar'));
			$('.bar').css({display:'block'});
		
			//send the ajax request
			$.post('contactengine.php',{emailName:$('#emailName').val(),
							  emailFrom:$('#emailFrom').val(),
							  message:$('#message').val()},
		
			//return the data
			function(data){
			  //hide the graphic
			  $('.bar').css({display:'none'});
			  $('.loader').append(data);
			});
			
			//waits 2000, then closes the form and fades out
			$("#messageSent").show("slow");
			setTimeout('$("#toggle a").toggle(); $("div#panel").slideUp("slow")', 2000);
			
			//stay on the page
			return false;
		} 
  });
		
});

PHP:

<?php 

$EmailFrom = "xxx@xxx.com"; 
$EmailTo = "xxx@xxx.com"; 
$Subject = Trim(stripslashes($_POST['Webmail']));  
$Name = Trim(stripslashes($_POST['emailName']));  
$Email = Trim(stripslashes($_POST['emailFrom']));  
$Message = Trim(stripslashes($_POST['message']));  

// validation 
$validationOK=true; 
if (!$validationOK) { 
  print "<meta http-equiv=\"refresh\" content=\"0;URL=error.htm\">"; 
  exit; 
} 

// prepare email body text 
$Body = ""; 
$Body .= "Name: "; 
$Body .= $Name; 
$Body .= "\n"; 
$Body .= "Email Adress: "; 
$Body .= $Email; 
$Body .= "\n"; 
$Body .= "Message: "; 
$Body .= $Message; 
$Body .= "\n"; 

// send email  
$success = mail($EmailTo, Webmail, $Body, "From: <$EmailFrom>"); 

// redirect to success page  
if ($success){ 
  print "<meta http-equiv=\"refresh\" content=\"0;URL=success.html\">"; 
} 
else{ 
  print "<meta http-equiv=\"refresh\" content=\"0;URL=error.htm\">"; 
} 
?>
2
Contributors
1
Reply
2
Views
7 Years
Discussion Span
Last Post by Jayavardhan
0

Your code was also working fine to me in chrome and safari. Actually, every browsers have some special properties by itself.
For suppose, Opera has applicable to window inner height and doesn't supports Active controls. But coming to Internet Explorer it doesn't applicable to window inner height but it supports Active controls. See, that was the differences between explorers.
You may go to this link of Browser Properties. It may quite help you to understand.

This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.