2012-04-27 41 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()可能是必要的。的