2013-08-29 2 views
0

Я создал форму ввода, и теперь у меня есть требование, чтобы она поддерживала предварительный просмотр и работа без Javascript.Обработка предварительного просмотра

Вот мое затруднительное положение. Я могу обрабатывать запрос предварительного просмотра на стороне сервера, но заголовки уже отправлены, поэтому я не могу отправить перенаправление. Заголовок, боковая панель и нижний колонтитул страницы уже отображены, поэтому отображение предварительного просмотра новой страницы внутри страницы будет уродливым. Это оставляет мне открытие нового окна.

Как я могу открыть новое окно и в то же время отправить запрос POST? Возможно ли это?

В идеале хотелось бы что-то вроде этого:

<div> 
<a href="post review link" target="_blank">Preview</a> 
<input type="hidden" name="preview" value="dopreview" /> 
</div> 

Я открыт для предложений.

ответ

0

Как я могу открыть новое окно и в то же время отправить запрос POST ? Возможно ли это?

Без javascript, no.

Просто отправьте на ту же страницу и обнаружите на PHP, когда у вас установлен предварительный POST.

<input type='submit' name='preview' value='Preview' /> 

//In PHP code 
if (isset($_POST['preview'])) 
{ 
    //Show preview to user 
} 
+0

Обнаружение предварительного просмотра - легкая часть. Выполнение этого способа оставляет мне нигде, чтобы отображать предварительный просмотр, так как он будет отображаться на существующей странице. – Twifty

+0

Вам просто нужно условно изменить свою страницу, добавив еще один div, где вы покажете предварительный просмотр. С силой «если» я не понимаю, что с этим сложно. – blue112

+0

изобразите страницу со сводкой и нижним колонтитулом заголовка, затем отобразите предварительный просмотр другой страницы в пределах этой области содержимого. Это не сработает. Я должен либо использовать полную область отображения страницы, либо открыть ее в новом окне. Поскольку у меня нет способа удалить существующий контент, единственным вариантом является новое окно. – Twifty

0

Я могу только думать об этом с помощью javascript.

function Validate() 
{ 
    document.previewform.submit(); 
    setTimeout("doPost()", 10); 

    return false; 
} 

function doPost() 
{ 
    document.mainform.submit(); 
} 

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

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