2012-03-22 5 views
0

У меня есть представление формы. Пока я нажимаю кнопку «Отправить», проверяет обязательные поля, и если поля пустые, я открываю всплывающее окно, используя javascript для отображения сообщения об ошибке. Поэтому, когда я закрываю всплывающее окно, я не вернусь к предыдущей странице. Вместо этого он показывает белый пустой экран.PHP: как вернуться на предыдущую страницу при закрытии всплывающего окна

Мой код для проверки и открытия всплывающего окна:

<?php 

if (isset($_POST['submit'])) 
    { 
if ($task == '' || $comments == '') 
{ 
// generate error message 
print "<script type='text/javascript'>"; 
print "window.open('error.php','new_window1','status=1,scrollbars=1,resizable=0,menu=no,width=320,height=220');"; 
print "</script>"; 

} 
else 
{ 
$sql3= "INSERT INTO work (task, comments, assignee, type, priority, dataum1, dataum2, status) VALUES ('$task', '$comments', '$assignee', '$type', '$priority', '$dataum1', '$dataum2', '$status')"; 
mysqli_query($mysqli,$sql3) or die(mysqli_error($mysqli)); 
} 
} 
?> 
+0

У вас есть 2 способа: a. используйте проверку javascript/jquery перед отправкой на php. б) «запомните» введенные поля в скрытых полях, и при нажатии кнопки «назад» отправьте их обратно в форму – Elen

ответ

0

Поскольку вы используете JS-всплывающее окно вы, вероятно, хотите сделать обязательным проверочную на стороне клиента с JavaScript (держать проверку на стороне сервера хотя), а затем запретить отправку формы, если необходимые поля не заполнены.

0

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

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