使用Jquery在新窗口中获取文本框值

使用Jquery在新窗口中获取文本框值,jquery,Jquery,我有一个文本框数组,每个文本框的右侧都有按钮,当按下按钮时,文本应该使用Jquery显示在新窗口上。对于演示,您可能已经看到jquery lightbox插件,它在新窗口中显示图像。我想要的是完全相同的,但不是图像,而是在按下文本框按钮时显示文本框的文本值 请告诉我怎么做?您可以这样做: var win = window.open(); var doc = win.document; doc.write($('#textbox_id').val()); doc.close(); $('inpu

我有一个文本框数组,每个文本框的右侧都有按钮,当按下按钮时,文本应该使用Jquery显示在新窗口上。对于演示,您可能已经看到jquery lightbox插件,它在新窗口中显示图像。我想要的是完全相同的,但不是图像,而是在按下文本框按钮时显示文本框的文本值


请告诉我怎么做?

您可以这样做:

var win = window.open();
var doc = win.document;
doc.write($('#textbox_id').val());
doc.close();
$('input#mybutton').click(function() {
    var text = $('textarea#mytextarea').val();
});
testopen.html:

<html>
      <head></head>
      <body>
         <div id="field1"></div>
         <div id="field2"></div>
      </body>
</html>

testopener.html:

<!DOCTYPE html>
<html>
<head>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js" type="text/javascript"></script>
</head>
<body>

    <input id="field1" />
    <input id="field2" />

    <button id="opentest">test</button>
</form>

</body>

<script type="text/javascript">

$(function(){

    var winopen = null;

    $("#opentest").bind("click", function(){

           if (winopen == null || winopen.closed){
            winopen = window.open("testopen.html","", "left=100,top=100,width=250,height=150");
        }

        var field1 = $("#field1").val(),
            field2 = $("#field2").val(),
            ntry = 3,
            sendMsg = function(){

                if (winopen.document.readyState != "complete"){

                    if (ntry >= 0)
                        setTimeout(sendMsg, 1000);

                    ntry--;
                    return;

                }

                $(winopen.document.body).find("#field1").html(field1);
                $(winopen.document.body).find("#field2").html(field2);

          }

        sendMsg();

    });

});

</script>

测试
$(函数(){
var-winopen=null;
$(“#opentest”).bind(“单击”,函数(){
if(winopen==null | | winopen.closed){
winopen=window.open(“testopen.html”,“左=100,顶=100,宽=250,高=150”);
}
var field1=$(“#field1”).val(),
field2=$(“#field2”).val(),
ntry=3,
sendMsg=函数(){
如果(winopen.document.readyState!=“完成”){
如果(ntry>=0)
设置超时(sendMsg,1000);
兰特里--;
返回;
}
$(winopen.document.body).find(#field1”).html(field1);
$(winopen.document.body).find(#field2”).html(field2);
}
sendMsg();
});
});
链接


如果您想显示ony文本,我强烈建议您使用对话框而不是插件。
有很多插件可以实现这一点,它支持显示图像和文本


您可以这样做:

var win = window.open();
var doc = win.document;
doc.write($('#textbox_id').val());
doc.close();
$('input#mybutton').click(function() {
    var text = $('textarea#mytextarea').val();
});
因此,单击按钮时,textarea中的内容将被收集到一个变量中。之后,您只需将变量内容注入目标:

  • 警报()
  • 弹出窗口插件
  • 自定义弹出窗口
  • 打开包含该内容的新浏览器窗口 等等

  • 你说的是一个窗口还是一个对话框?你写了一个很好的代码,但可能是我在寻找对话框或窗口,但它允许我进行更改,然后将更改发送回原始文本框。其次,我正在寻找与jquery lightbox插件相同的效果。可能吗?非常感谢您的代码和时间是的,您是对的事实上我正在寻找对话框,我已经通过链接,我认为fancybox是我需要的。非常感谢。Kai,告诉我是否可以在“内联HTML”中运行一个小的ajax脚本。例如,我使用“内联HTML”获取文本值,然后在相同的内联HTML(弹出窗口)中使用ajax修改文本。这都是可能的吗?