2015-07-03 3 views
0

Форма контакта Я использую перенаправления после отправки сообщения, но я хочу, чтобы пользователь получил сообщение «Сообщение отправлено», которое появится & вместо этого исчезает где-то в контактной форме. Значение страницы никогда не обновляется, и пользователь не убирается со страницы или контактной формы. Это возможно?Форма для связи Подтверждение Сообщение без обновления

Если так кто-то может показать мне код, мне нужно, чтобы добавить к ниже текущей ...

Я использую следующую форму:

<form id="contact-form-face" class="clearfix"  action="http://www.demo.com/php/contactengine.php"> 
    <input type="text" name="email" value="Email"  onFocus="if (this.value == 'Email') this.value = '';" onBlur="if (this.value == '') this.value = 'Email';" /> 
    <textarea name="message" onFocus="if (this.value  == 'Message') this.value = '';" onBlur="if (this.value == '') this.value = 'Message';">Message</textarea> 
    <input class="contact_btn" name="submit"  type="submit" value="Send Message" /> 
</form> 

И РНР пост:

<?php 

$EmailFrom = "myemail"; 
$EmailTo = "myemail"; 
$Subject = ""; 
$Email = Trim(stripslashes($_POST['email'])); 
$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 .= "Email: "; 
$Body .= $Email; 
$Body .= "\n"; 
$Body .= "Message: "; 
$Body .= $Message; 
$Body .= "\n"; 

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

// redirect to success page 
if ($success){ 
    print "<meta http-equiv=\"refresh\" content=\"0;URL=contactthanks.php\">"; 
} 
else{ 
    print "<meta http-equiv=\"refresh\" content=\"0;URL=error.htm\">"; 
} 
?> 

Любая помощь была бы принята с благодарностью

ответ

0

Вы можете использовать нижеследующую ссылку для подготовки fo гт. Simple Ajax Form Using Javascript No jQuery

После того, как он подготовлен, вы можете использовать responseText, чтобы проверить, возвращается ли статус успеха, и затем может отображать сообщение на одной странице без обновления.

Edit:

В HTML

<form id="contact-form-face" onSubmit="AJAXPost(this.id); return false;" class="clearfix" action="http://www.demo.com/php/contactengine.php"> 

В PHP файл

if($success){ 
echo 1; 
}else{ 
echo 0; 
} 

Это может быть ваш Javascript функция, которой будет проходить в форм-Id.

function AJAXPost(formId) { 
var elem = document.getElementById(formId).elements; 
var url = document.getElementById(formId).action;   
var params = ""; 
var value; 

for (var i = 0; i < elem.length; i++) { 
    if (elem[i].tagName == "SELECT") { 
     value = elem[i].options[elem[i].selectedIndex].value; 
    } else { 
     value = elem[i].value;     
    } 
    params += elem[i].name + "=" + encodeURIComponent(value) + "&"; 
} 

if (window.XMLHttpRequest) { 
    // code for IE7+, Firefox, Chrome, Opera, Safari 
    xmlhttp=new XMLHttpRequest(); 
} else { 
    // code for IE6, IE5 
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
} 

xmlhttp.open("POST",php_post_url.php,false); 
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
xmlhttp.setRequestHeader("Content-length", params.length); 
xmlhttp.setRequestHeader("Connection", "close"); 
xmlhttp.send(params); 
if(xmlhttp.responseText == 1){ 
alert('Successfully Submitted'); 
}else{ 
alert('Something Went Wrong. Please try again.'); 
} 
} 
+0

Не могли бы вы шаг за шагом показать мне это основанное на моем коде - Я сожалею, но я довольно нов к этому и это последний этап моего сайта, который я опаздывал с – MKDesigns

+0

Ok теперь я 'm перенаправляется на страницу с только 1' на ней. Почему это? – MKDesigns

Смежные вопросы