将表单提交到另一个页面(与ACTION中使用的页面不同)

Vpp*_*Man 25 html javascript jquery

我有一个这样的表格:

的index.php

<form method="post" action="send.php">
  <textarea name="msg" id="msg"></textarea>
  <input type="submit" value="Send" />
</form>
Run Code Online (Sandbox Code Playgroud)

因此,如果我在textarea中输入内容并单击"发送",则会将其提交到"send.php"页面.但是我想要包含另一个按钮来预览它.也就是说,当单击此按钮时,上面的表单将提交到"preview.php",它将在新的空白窗口/选项卡中打开(原始页面即index.php将完好无损).这是为了显示用户要发送的消息的预览.

我不知道该怎么做.

Aar*_*ner 29

使用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>
Run Code Online (Sandbox Code Playgroud)


Nou*_*non 9

现在有一个提交输入的属性来处理这个:

<input type="submit" formaction=”differentThanNormalAction.php”>
Run Code Online (Sandbox Code Playgroud)


Dio*_*ane 7

为表单提供ID(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()
}
Run Code Online (Sandbox Code Playgroud)

有两个按钮,type="button"一个用于调用setPreview,另一个用于调用setSubmit