我有一个带有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>
我正在通过查询字符串发送,
如何通过 POST 而不是查询字符串 (GET) 将值发送到另一个页面,因为它最多只需要有限的字符。
另外,如何获取html内容(带中断),我用了这个:
var myLineBreak = msg.replace(/([^>'r'n]?)('r'n|'n'r|'r|'n)/g, '<br />');
但是一些文本中断。另外,
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可能是必要的。