Подтвердить что ты не робот

Отправьте форму на другую страницу (которая отличается от страницы, используемой в ACTION)

У меня есть такая форма:

index.php

<form method="post" action="send.php">
  <textarea name="msg" id="msg"></textarea>
  <input type="submit" value="Send" />
</form>

Итак, если я что-то ввожу в textarea и нажимаю "Отправить", он отправляется на страницу "send.php". Но я хочу включить еще одну кнопку для ее предварительного просмотра. То есть, когда эта кнопка нажата, вышеуказанная форма отправляется на "preview.php", которая будет открыта в новом пустом окне/вкладке (исходная страница, т.е. Index.php будет там нетронутой). Это означает, что вы увидите предварительный просмотр сообщения, которое пользователь отправит.

Я не знаю, как это сделать.

4b9b3361

Ответ 1

Используйте Javascript для временного изменения действия и цели:

<form method="post" action="send.php" id="idOfForm">
  <textarea name="msg" id="msg"></textarea>
  <input type="submit" value="Send" />
</form>
<button onclick="doPreview();">Preview</button>
<script type="text/javascript">
    function doPreview()
    {
        form=document.getElementById('idOfForm');
        form.target='_blank';
        form.action='preview.php';
        form.submit();
        form.action='send.php';
        form.target='';
    }
</script>

Ответ 2

Дайте вашей форме идентификатор (form1). Действие текущей формы можно контролировать следующим образом:

function setPreview() {
    $('#form1').attr('target','_blank')
    $('#form1').attr('action','http://yourpreviewurl.php')
    $('#form1').submit()
}

function setSubmit() {
    $('#form1').attr('target','')
    $('#form1').attr('action','http://yourposturl.php')
    $('#form1').submit()
}

У вас есть две кнопки: type="button", один для вызова setPreview, другой - для вызова setSubmit

Ответ 3

Теперь есть атрибут для ввода отправки, который обрабатывает это:

<input type="submit" formaction="differentThanNormalAction.php">

Ответ 4

Вы можете использовать JavaScript, чтобы изменить действие формы при нажатии кнопки и затем отправить ее.

Или просто отправьте форму через AJAX, а затем перенаправите ее после получения ответа.

Ответ 5

<form onreturn="someJavascriptFunction()" action="" method="">

создание функции js, способной открыть эту страницу предварительного просмотра