Hey,

Ik krijg een foutmelding bij het versturen van een contactform in IE. Na het drukken op de verzendknop, komt er een scherm naar boven "bericht van webpagina" waar de volledige html broncode van de contact-pagina in vermeld staat. Als je dan op OK duwt, ga je alsnog naar de bedankt-pagina, en wordt de vraag doorgestuurd. Iemand raad hoe ik dit vervelend foutief pop-up scherm in IE kan kwijt raken?

Dit is de code:


Contactform:

<form action="php/contact.php" method="post" id="frmContact">
<h5>Bedrijfsnaam *</h5>
<input name="txtBedrijfsnaam" type="text" class="txbx" value="" /><br />
<h5>Contactpersoon *</h5>
<input name="txtName" type="text" class="txbx" value="" /><br />
<h5>Email *</h5>
<input name="txtEmail" type="text" class="txbx" value="" /><br />
<h5>Telefoon of GSM *</h5>
<input name="txtTelefoon" type="text" class="txbx" value="" /><br />
<h5>BTW-nummer *</h5>
<input name="txtBTW" type="text" class="txbx" value="" /><br />
<h5>Vraag betreft *</h5>
<select name="txtSubject" id="myOpt" class="txbx">
  <option value="Aanvraag algemene informatie">Aanvraag algemene informatie</option>
  <option value="Aanvraag documentatie">Aanvraag documentatie</option>
  <option value="Aanvraag wisselstukken">Aanvraag wisselstukken</option>
  <option value="Aanvraag log-in webshop">Aanvraag log-in webshop</option>
  <option value="Aanvraag verkoopcondities">Aanvraag verkoopcondities</option>
  <option value="Nieuwsbrief of Promotie">Nieuwsbrief of Promotie</option>
  <option value="Andere vraag">Andere vraag</option>
</select> 
<div class="erabox">
<h5>Uw vraag </h5>
<textarea name="txtText" class="txbx era" ></textarea><br />
<p>Velden met een * zijn verplicht.</p>
<input type="submit" class="sendbtn" name="btnSend" id="btnSend" value="Verzenden">

<div id="spanMessage">
</div>
</div>
</form>


Contact.php:

<?php
include_once './lib.php';
include_once './config.php';
if(!isPostBack()) die('Please send contact form via POST method...');

// Email address verification, do not edit.
function isEmail($Email) {
	return(preg_match("/^[-_.[:alnum:]]+@((([[:alnum:]]|[[:alnum:]][[:alnum:]-]*[[:alnum:]])\.)+(ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|arpa|as|at|au|aw|az|ba|bb|bd|be|bf|bg|bh|bi|biz|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|com|coop|cr|cs|cu|cv|cx|cy|cz|de|dj|dk|dm|do|dz|ec|edu|ee|eg|eh|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|in|info|int|io|iq|ir|is|it|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|mg|mh|mil|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|museum|mv|mw|mx|my|mz|na|name|nc|ne|net|nf|ng|ni|nl|no|np|nr|nt|nu|nz|om|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|pro|ps|pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|yu|za|zm|zw)$|(([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5])\.){3}([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5]))$/i",$Email));
}

$Name = htmlspecialchars($_POST['txtName']);
$Email = htmlspecialchars($_POST['txtEmail']);
$Subject = htmlspecialchars($_POST['txtSubject']);;
$preText .= "<strong>Bedrijfsnaam:</strong> ".htmlspecialchars($_POST['txtBedrijfsnaam'])."<br />";
$preText .= "<strong>Contactpersoon:</strong> $Name <br />";
$preText .= "<strong>Email:</strong> $Email <br />";
$preText .= "<strong>Telefoon:</strong> ".htmlspecialchars($_POST['txtTelefoon'])."<br />";
$preText .= "<strong>BTW:</strong> ".htmlspecialchars($_POST['txtBTW'])."<br />";
$preText .= "<strong>Vraag betreft:</strong> ".htmlspecialchars($_POST['txtSubject'])."<br />";
$preText .= "<strong>Vraag:</strong><br />";
$Text = htmlspecialchars($_POST['txtText']);

$Text = $preText . $Text;

if(!sendmail::send($Email , $contactEmail , $Text , $Subject ));
   header('Location: http://www.xxx.be/xxx/bedankt.html');?>


Config.php:

<?php
// Write contact email reciever here
$contactEmail = "[email protected]";  
$email_subject = "$myOpt";
// Write Subscribe email reciever here
$subscribeEmail = "[email protected]";

?>


Lib.php:

<?php
class sendmail
{	public static function send($from , $to , $message, $subject)
	{
		$headers  = 'MIME-Version: 1.0' . "\r\n";
		$headers .= 'Content-type: text/html; charset=UTF-8' . "\r\n";

		$headers .= "From:" . $from;
		if(mail($to,$subject,$message,$headers))
		return true;
		else
		return false;
	}
}

function checkEmailAddress($email){
	return preg_match("/^([a-zA-Z0-9])+([a-zA-Z0-9\._-])*@([a-zA-Z0-9_-])+([a-zA-Z0-9\._-]+)+$/",$email);
}
function isPostBack()
{
return ($_SERVER['REQUEST_METHOD'] == 'POST');
}
?>


zet op regel 15 ook eens een alert(response)

Wat komt er in Safari als response terug? waarom lijkt dat wel op 0?

Of zegt de js engine van safari: "begint niet met een cijfer, dus ik maak er 0 van"
Maakt geen verschil als ik op regel 15 een alert(response) zegt.
Het is wel zo dat ik 2x een mail binnen krijg als ik het formulier verzend in IE. Waarschijnlijk 1x door op de verzend-knop te drukken, en 1x door op de OK te drukken bij de alert...

 
* ---------------------------------------------------------------------- */
/*    Contact Form
/* ---------------------------------------------------------------------- */

$(function(){
$("#btnSend").click(function(){
$.ajax({type:'POST', url: 'php/contact.php', data:$('#frmContact').serialize(), success: function(response) {
$("#spanMessage").html('Please Wait...');

     if(parseInt(response)>0)
       {
         alert(response);
         $("#spanMessage").html('<div class="alert alert-success"><button type="button" class="close" data-dismiss="alert">&times;</button><strong>Bedankt voor uw vraag!</strong></div>');
       }
       else{
         alert(response);
         $("#spanMessage").html('<div class="alert alert-error"><button type="button" class="close" data-dismiss="alert">&times;</button><strong>Er is iets verkeerd gegaan! </strong> Probeer opnieuw.</div>');
       }     
}});
});
});
 

Reageren