【问题标题】:variable = windows.open() act on form input changevariable = windows.open() 作用于表单输入变化
【发布时间】:2013-05-18 01:11:48
【问题描述】:

试图控制 javascript 新窗口 想知道表单输入区域何时填满 并且想知道如何控制新窗口中的元素。 ID,按钮等。 这是我的测试示例

提交.html - >

<!DOCTYPE HTML>
<html lang="en-US">
<head>
</head>
<body>
<form>
    <input type="input" id="inp">
    <input type ="button" id="mybutton" value ="Dell"> 
</form> 

</body>
</html>

javascript ->

    $('.cde').click(function(){
    var n_window = window.open("submit.html");
    $(n_window).ready(function(){
        $('#inp').focus(function(){
            $('#mybutton').val('cns');
        })
    })
})

【问题讨论】:

  • 只有当前文档可以和jQuery的ready()一起使用,打开新窗口不是异步的?
  • 你试过$(n_window.document).ready(...吗?

标签: javascript jquery window controls


【解决方案1】:

只有当前文档可以与ready() 一起使用,并且您不需要它用于新窗口中的事件处理程序。你会这样做:

$(function() {
    $('.cde').on('click', function() {
        var n_window = window.open("test2.html");

        n_window.onload = function() {
            $('#inp', n_window.document).on('focus', function() {
                $('#mybutton', n_window.document).val('cns');
            });
        }
    });
});

FIDDLE

【讨论】:

  • 这几乎就是我想要的。它适用于小提琴,但您使用 'var html = '
    ';'并通过 document.write 传递它。我想使用现有文件。但这仍然是个好主意。谢谢
  • @alexela - 好吧,你用现有文件试过了吗?在 JSfiddle 中没有办法创建文件,所以我只好将内容直接写入窗口中以作为示例。
  • 那么文档还没准备好,再次编辑答案,对我有用!
  • 是的!它开始变得有意义。现在它起作用了!你真是天才!
猜你喜欢
  • 1970-01-01
  • 2013-06-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-18
  • 1970-01-01
  • 1970-01-01
  • 2017-11-16
相关资源
最近更新 更多