点击按钮,将<div id="preview"这里面的内容</div>,传输到新的页面打开preview.php以新的浏览器页面打开

点击按钮,将<div id="preview"这里面的内容</div>,传输到新的页面打开preview.php以新的浏览器页面打开,要怎么写 js post 希望有个完整的例子,本然研究好久,搞不定,像大神求助
比如
<div id="preview"><div id="preview1" style=" width:30px; height:30px; background:#060;"></div></div>

然后打开的新页面显示

jquery ajax post

HTML代码:
<!DOCTYPE html>
<html>
<head>
    <title>test page</title>
    <meta http-equiv="content-type" content="text/html;charset=utf-8">
    <script type="text/javascript" src="jquery-2.1.4.min.js"></script>
    <script type="text/javascript">
    $(document).ready(function(){
        $("input[type='button']").click(function(){
            $.post('preview.php',{contain:$("#preview").text()},function(data){
                alert(data);
            });
        });
    });
    </script>
</head>
<body>
<input type="button" value="按钮">
<div id="preview">我是内容!</div>
</body>
</html>

php代码:
echo '我被传回来了:'.$_POST['contain'];

 哦,这是jQuery代码,没看清楚要求,不过js post的话好久没写了,写不出来了,思路第一种就是通过Ajax post将内容传过去,第二种就是用js生成一个隐藏表单,把内容提交过去。

追问

先谢谢你,这个运行后是一个提示宽,我想实现的是以浏览器页面打开的效果,实现预览页面的效果

<div id="preview"><div id="preview1" style=" width:30px; height:30px; background:#060;"></div></div>


然后打开的新页面显示

追答模拟一个表单提交到新页面吧,form加上target:"_blank"属性。
<script type="text/javascript">
    $(document).ready(function(){
        $("input[type='button']").click(function(){
            /*$.post('preview.php',{contain:$("#preview").text()},function(data){
                alert(data);
            });*/
            var $form=$("<form></form>");
            var $textarea=$("<textarea></textarea>");
            $textarea.attr("name","contain");
            $textarea.text($("#preview").text());
            $form.append($textarea);
            $form.attr({action:"preview.php",method:"post",target:"_blank"});
            $form.submit();
        });
    });
    </script>

追问

谢谢,嗯,可以用模拟表单来提交,请问能给个完整的案例吗?

追答

用这段代码替换上面的javascript代码就行了。

追问

我试了,不行,你看下这个网站,我要想实现的就是他这个预览效果,

  红色加上c o m 嘿嘿


追答

$textarea.text($("#preview").text());改为下面的看行不行了:
$textarea.text($("#preview").html());

追问

谢谢,很感谢,可以提交了,但是jquery-2.1.4.min.js 跟原来的冲突了,导致我原来的效果失效, 怎么解决吗?原来的使用了 jquery.js jquery-ui.custom.min.js jquery.ui.datepicker-zh-CN.min.js

追答

这行替换成:

src指定的是js文件路径。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-11-02
<meta charset=utf-8>
<button onclick="jump()">点击我</button>
<div id="preview">this is a test data.</div>
<script>
function jump(){
var dat = document.getElementById("preview");
var txt = dat.innerHTML;
//window.location.href//当前页跳转
window.open("preview.php?txt="+txt);//新窗口跳转
}
</script>

//preview.php
$recvTxt = $_GET["txt"]; 
echo "Hello :".$recvTxt;

运行一下看看.

追问

先谢谢你,这个运行后是一个提示宽,我想实现的是以浏览器页面打开的效果,实现预览页面的效果

<div id="preview"><div id="preview1" style=" width:30px; height:30px; background:#060;"></div></div>


然后打开的新页面显示

追答

首先你的测试页面也就是当前页面,与这个preview.php的页面应是两个页面,不然没有跳转之说,只能是open。
被充里说的“实现预览的效果”,不知你要预览什么,当前不是预览一个绿色框框吗?
找准问题点。如果是参数传不过去,楼上给了一种post异步传输方法,或是通过form表单来跳转。这边接收参数就行了,哪一步遇到了问题?

追问

谢谢您的解答,你的代码,如果<div id="preview">里面是文字的话,在preview.php看到效果,但是如果<div id="preview">里面是代码就传不过了,

我想实现的效果,是大概是像这个示例图这样的……

相似回答