提交表单并在 AJAX & PHP 的另一个选项卡中显示文本框值


Submit a form and display text box value in another tab in AJAX & PHP

我有一个带有textareabutton的表单。要在同一窗口的另一个选项卡中单击按钮,请单击textarea值,我使用了这个:

<input type="button" name="preview" id="inline_submit_a" value="PREVIEW" />
<script>
    $('#inline_submit_a').click(function(evt) {
        var msg = document.getElementById('message').value;
        var myLineBreak = msg.replace(/([^>'r'n]?)('r'n|'n'r|'r|'n)/g, '<br />');
        jQuery.ajax({
            type: 'POST',
            url: '/someajax.php',
            data: "msg="+myLineBreak,
            success: function(data) {
                window.open("<?=SITEURL?>includes/templates/preview/template1/postoffer_preview.php?offer="+data,'_blank');
                return false;
            }
        });
    });
</script>

我正在通过查询字符串发送,

  1. 如何通过 POST 而不是查询字符串 (GET) 将值发送到另一个页面,因为它最多只需要有限的字符。

  2. 另外,如何获取html内容(带中断),我用了这个:var myLineBreak = msg.replace(/([^>'r'n]?)('r'n|'n'r|'r|'n)/g, '<br />');但是一些文本中断。

  3. 另外,window.open("<?=SITEURL?>test.php?msg="+data,'_blank');这在火狐中效果很好,但在 Chrome 中,它会打开一个新窗口,

有人可以帮我吗..我正朝着正确的方向前进吗?

谢谢

像这样的东西,使用 form.target 和空的 window.open(代码未测试):

<form name="myform" action="postoffer_preview.php" target="myNewWin" method=post"> 
   <input type="button" name="preview" id="inline_submit_a" value="PREVIEW" />
</form> 
<script>
    var open_post_window = function () 
    { 
        window.open("","myNewWin","width=500,height=300,toolbar=0"); 
        document.myform.submit(); 
    } 
    $('#inline_submit_a').click(function(evt) {
        var msg = document.getElementById('message').value;
        var myLineBreak = msg.replace(/([^>'r'n]?)('r'n|'n'r|'r|'n)/g, '<br />');
        jQuery.ajax({
            type: 'POST',
            url: '/someajax.php',
            data: "msg="+myLineBreak,
            success: function(data) {
                open_post_window();
                return false;
            }
        });
    });
</script>

在document.myform.submit()上添加一点setTimeout可能是必要的。