2016-05-06 5 views
-1

У меня есть небольшая проблема. У меня есть сайт, на котором у меня есть контактная форма. У меня есть файл form.php, который заставляет его работать, и в этом файле у меня есть эхо-вызов функции js, которая заставляет всплывающее окно сообщать вам «спасибо за отправку» вместо того, чтобы перевести меня на другую страницу с этим сообщением. Проблема в том, что когда я нажимаю OK в этом всплывающем окне, он перенаправляется на пустую страницу form.php.php перенаправление на пустую страницу

Вот код:

<?php 

$name = $_POST['name']; 
$email = $_POST['email']; 
$message = $_POST['message']; 
$formcontent="From: $name \n Email: $email \n\n Message: $message"; 
$recipient = "[email protected]"; 
$subject = "Contact Form TP Czech"; //This is the email subject in " " 
$mailheader = "From: $email \r\n"; 



mail($recipient, $subject, $formcontent, $mailheader) or die("Error!"); 
echo '<script>popUp()</script>'; 


?> 
+0

Что вы ожидали. Вы отправляете form.php и там отображается всплывающее окно. Когда вы нажимаете всплывающее окно, вы все еще находитесь в form.php, который, как вы говорите, пуст. – yBrodsky

+1

Вы не определяете 'popUp()' где-нибудь здесь. Помните, что запрос формы запускает новый запрос страницы. Ни один из предыдущих HTML или JavaScript не будет там когда-то перенаправлен. – mario

+0

Почему бы вам не предупредить сообщение. например, 'if (mail ($ recipient, $ subject, $ formcontent, $ mailheader)) {echo" "} else {echo" «}' –

ответ

1

Чтобы показать содержимое внутри поп вам нужно иметь такой код.

if(mail($recipient, $subject, $formcontent, $mailheader)){ 
     echo '<script> 
     var myWindow = window.open("", "MsgWindow", "width=200,height=100"); 
     myWindow.document.write("<p>Message sent!</p>");</script>'; 
     }else{ 
     echo '<script> 
     var myWindow = window.open("", "MsgWindow", "width=200,height=100"); 
     myWindow.document.write("<p>Message Not sent!</p>");</script>'; 
     } 

всплывающее окно можно вызвать с помощью метода open().

Advance Интеграция:
Вы также можете закрыть открытое окно после того, как период времени, используя функцию setTimeout() и close() функции.

//This will close the popup window after 10 sec. 
    setTimeout(function(){ 
     myWindow.close(); 
    }, 10000); 
Смежные вопросы