新打开的窗口中的jquery帖子

时间:2015-05-22 21:01:48

标签: javascript php jquery

我有一个页面,我在输入中输入文本,这是一个简单的表单。我有一个按钮,当我按下按钮时,是否可以打开另一个页面并通过jquery将数据发布到这个新窗口。我不是在谈论ajax,因为我想打开一个新窗口,然后转到持有帖子表格的新页面。

所以我有第1页的表单和输入1.我在输入1中输入test然后如果我点击提交,它将打开一个新的php页面,其中有一个

<code>
&lt;div id="grid1" ui-grid="resultsGrid" class="myGrid" ui-grid-grouping&gt;&lt;/div&gt;
</code>

它将被填充,以便代码自动执行。实际上,这是为了避免输入网址中的所有内容并转到该网址。

似乎我不够清楚。我知道如何使用表单和提交按钮来完成它。但我想通过jquery提交表单,所以当我点击一个按钮或其他会被我的javascript截获的内容时,它会查找输入然后重定向到另一个页面并发布我想要的数据。

2 个答案:

答案 0 :(得分:1)

如果我理解正确,您希望从父窗口打开的子窗口(弹出窗口)访问父窗口窗体输入值。 如果是这种情况,我建议您查看window.opener属性 http://www.w3schools.com/jsref/prop_win_opener.asp

如果您有这样的父窗口:

HTML:

<form id="testForm">
    <input type="text" id="testVariable" value="" />
    <input type="submit" />
</form>

JS:

$(document).ready(function () {
    $('#testForm').on('submit', function(e){
        e.preventDefault();
        window.open('http://www.yourdomain.com/chilwindow.php', 'ChildWindow', 'menubar=0,resizable=1,location=0,scrollbars=0,status=0,toolbar=0,width=580,height=520');
    });
});

然后在您的子窗口/弹出窗口(http://www.yourdomain.com/chilwindow.php)中,您应该可以像这样访问父窗口:

$(document).ready(function () {
    var testVariableNew = window.opener.$("#testVariable").val();
    console.log('Got value from parent window: ' + testVariableNew);
});

或者:

$(document).ready(function () {
    var testVariableNew = $('#testVariable', window.opener.document).val();
    console.log('Got value from parent window: ' + testVariableNew);
});

如果您想要发出POST请求,请执行以下操作:

$( "#testForm" ).submit(function(e) {
  e.preventDefault();
  var myVariable = $(this).find("#testVariable").val();
  var myUrl = $(this).attr("action");
  var posting = $.post( myUrl , { temp: myVariable } );
  posting.done(function(result) {
    console.log(result);
  });
});

答案 1 :(得分:0)

jquery.form.js插件完全符合您的要求。 http://malsup.com/jquery/form/

<html> 
<head> 
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.js"></script> 
    <script src="http://malsup.github.com/jquery.form.js"></script> 

    <script> 
        // wait for the DOM to be loaded 
        $(document).ready(function() { 
            // bind 'myForm' and provide a simple callback function 
            $('#myForm').ajaxForm(function(response) { 
                alert("The script said: "+response); 
            }); 
        }); 
    </script> 
</head>