2010-06-18 49 views
0

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

请告诉我我该怎么做?

+0

你在说什么窗口或对话框? – 2010-06-18 18:05:41

回答

0

你可以这样说:

var win = window.open(); 
var doc = win.document; 
doc.write($('#textbox_id').val()); 
doc.close(); 
0

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> 

链接

http://jquery.com/demo/thickbox/

http://www.no-margin-for-errors.com/projects/prettyphoto-jquery-lightbox-clone/

http://www.ericmmartin.com/projects/simplemodal/

+0

你已经写了一个非常好的代码,但可能是我正在寻找对话框或窗口,但它允许我进行更改,然后将更改发回原始文本框。其次,我正在寻找与jquery lightbox插件相同的效果。可能吗? 非常感谢你的代码和时间 – user370564 2010-06-19 07:28:50

0

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

http://fancybox.net/

http://colorpowered.com/colorbox/

http://dev.iceburg.net/jquery/jqModal/#

http://jqueryui.com/demos/dialog/

+0

是的,你是正确的事实我正在寻找对话框,我已经通过链接,我认为fancybox是我所需要的。 非常感谢。 – user370564 2010-06-19 07:37:46

+0

凯,告诉我是否可以在内联HTML中运行一个小的ajax脚本。例如,我使用“内联HTML”获得textvalue,然后在同一内联HTML(弹出窗口)中使用Ajax修改文本。这全部可能吗? – user370564 2010-06-19 07:52:50

0

你可以做这样的事情:

$('input#mybutton').click(function() { 
    var text = $('textarea#mytextarea').val(); 
}); 

所以,当按钮clicke d,textarea的内容将被收集到一个变量中。之后,你只需要注入变量的内容您的目的地:

  1. 警报()
  2. 插件,弹出窗口
  3. 定义弹出窗口
  4. 打开一个新的浏览器窗口的内容 等。 ..