AJAX Form Gönderme (Sadece Firefox)

0 Cevap php

Ben sadece Firefox'ta göndererek değil, benim web sitesinde bir AJAX iletişim formu (www.chrisanstey.co.uk), koşma, ama diğer her tarayıcıda mutlak cezası çalışır duyuyorum. Form aşağıdaki PHP dosyasını kullanır:

<?php

$to = "me@somewhere.com"; //This is the email address you want to send the email to

if(!isset($_GET['action']))
{
die("You must not access this page directly!"); //Just to stop people from visiting contact.php normally
}

/* Now lets trim up the input before sending it */

$name = trim($_GET['name']); //The senders name
$email = trim($_GET['email']); //The senders email address
$subject = "A message sent from " . $name . " on Chris Anstey's portfolio"; //The senders subject
$message = trim($_GET['msg']); //The senders message

mail($to,$subject,$message,"From: ".$email.""); //a very simple send

echo 'contactarea|<p>Thank you '.$name.' for your message, I will reply to you as soon as I can.</p>'; //now lets update the "contactarea" div on the contact.html page. The contactarea| tell's the javascript which div to update.
?>

ve ayrıca aşağıdaki javascript dosyası:

function createRequestObject() {
    var ro;
    var browser = navigator.appName;
    if(browser == "Microsoft Internet Explorer"){
        ro = new ActiveXObject("Microsoft.XMLHTTP");
    }else{
        ro = new XMLHttpRequest();
    }
    return ro;
}

var http = createRequestObject();

function sendemail() {
 var msg = document.contactform.msg.value;
 var name = document.contactform.name.value;
 var email = document.contactform.email.value;
 document.contactform.send.disabled=true; 
 document.contactform.send.value='Sending....';

    http.open('get', 'contact.php?msg='+msg+'&name='+name+'&email='+email+'&action=send');
    http.onreadystatechange = handleResponse;
    http.send(null);
}

function handleResponse() {
    if(http.readyState == 4){
        var response = http.responseText;
        var update = new Array();

        if(response.indexOf('|' != -1)) {
            update = response.split('|');
            document.getElementById(update[0]).innerHTML = update[1];

        }
    }
}

Form aşağıdaki HTML tarafından şablona çağrıldığını, bir Wordpress sayfa içinde:

<div id="contactarea">
<form name="contactform" id="contactform">
<p>Full Name:<br /> 
    <span class="wpcf7-form-control-wrap your-name"><input type="text" name="name"></span></p>
<p>Email:<br /> 
    <span class="wpcf7-form-control-wrap your-email"><input type="text" name="email"></span></p>
<p>Message:<br /> 
    <span class="wpcf7-form-control-wrap your-message"><textarea name="msg" rows="6" id="textarea"></textarea></span></p>
<p><input type="submit" value="Send Email" name="send" id="submitbutton" onClick="sendemail();"></p>
</form>
</div>

Herkes herhangi bir fikir veya AJAX Firefox içinde değil çalışma ile benzer sorunlar karşılaştı varsa, size cevap verebilir lütfen. Herhangi bir yardım çok takdir!

0 Cevap