2012-04-27 44 views
2

另一個標籤提交表單和顯示文本框的值我有一個textareabutton的形式。要顯示在按鈕上的同一個窗口的另一個選項卡中的textarea值點擊我用這個:在AJAX和PHP

<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');這個工程很好在Firefox,但在Chrome中,它會打開一個新的窗口,

有人可以請幫我在這..我在正確的方向前進?

感謝

+0

不是打開一個新的窗口,爲什麼不使用類似的燈箱? – Rooster 2012-04-27 13:18:23

回答

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> 

加入少許的setTimeout上document.myform.submit()可能是必要的。的