2

と のフォームがtextareaありbuttonます。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. 限られた文字しか使用できないため、クエリ文字列 (GET) ではなく、POST を介して別のページに値を送信する方法。

  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');これはFirefoxではうまく機能しますが、Chromeでは新しいウィンドウが開き、

誰かがこれについて私を助けてくれますか..私は正しい方向に進んでいますか?

ありがとう

4

1 に答える 1

0

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 を追加する必要があるかもしれません。

于 2012-04-27T14:52:23.063 に答える