【问题标题】:send data from a new window to previous window in php在php中将数据从新窗口发送到上一个窗口
【发布时间】:2011-10-06 18:05:46
【问题描述】:

我在main.php 文件中有一张图片:

  <img src="..\images\image.gif" class="cur" onclick="imgWin();">

当我点击这个图片时,下面的函数调用了:

function imgWin()
{
   imageWin=window.open("../pages/img.php","imageWin","toolbar=no,width=500,height=200,directories=no,menubar=no,SCROLLBARS=yes");
}

此函数在新窗口中打开 img.php

img.php file :

<HTML>
<HEAD>
    <TITLE>upload image</TITLE>
</HEAD>
<BODY>

    <FORM NAME="imgForm" method="get" action="#">
          address : 
          <INPUT type="file" name="imgUrl" size="50">
          description : 
          <INPUT type="text" name="description" size="50">
          <input type="submit" value="sumbit">
    </form>
</BODY>
</HTML>

当我点击上面表单中的submit 按钮时,我想将来自imgUrldescription 文本框的数据发送到main.php 文件。

我该怎么做?

【问题讨论】:

  • imgUrl 和描述中的数据发送到 main.php 后,你想做什么?

标签: php javascript post new-window


【解决方案1】:

你应该为你的窗口命名.....

 <form action="foobar.php" method="get" target="foo">
 First name: <input type="text" name="fname" /><br />
 Last name: <input type="text" name="lname" /><br />
 <input type="submit" value="Submit" />
 </form>

这会将表单提交回名为“foo”的目标窗口,操作是 foobar.php ...当您打开窗口时,使用您的 javascript,指定作为目标的“名称”..

 window.open(URL,name,specs,replace)

【讨论】:

    【解决方案2】:

    目前我能想到的唯一方法是将 img.php 的必填字段存储到另一个文件中,比如 img.xml,然后使用 AJAX 将其加载到主文件中。

    ajax 代码将存储在主文件中。在 img.php 文件中,您将在提交按钮上方有一个 onClick,该按钮会触发主文件中的 AJAX。

    【讨论】:

      【解决方案3】:

      我建议你使用jQuery来达到它!

      // -------------------------- main.php
          <img src="..\images\image.gif" class="cur" id="imgButton">
          <div id="page"></div>
      
          <script type="text/javascript" >
          $('#imgButton').click(function(){
             $('#page').load('../pages/img.php');
          )}
          </script>
      
      
      // ------------------img.php file :
      
          <form name="imgForm" method="post" action="#">
                address : 
                <INPUT type="file" name="imgUrl" size="50">
                description : 
                <INPUT type="text" name="description" size="50">
                <input type="button" value="sumbit" id="submit">
          </form>
      
              <script type="text/javascript" >
              $('#submit').click(function(){
                 ........
                 SEND YOUR DATA BY AJAX
                 $.ajax({
                 url:.......,
                 data:(FORM VARIABLES),
                 success:function(){
                  // PRINT YOUR INPOUT VARIABLE HERE ;
                  // $("input[name='imgUrl']").val();
      
                 }
                 })
      
              )}
              </script>
      

      编辑

      $.ajax({  
        type: "POST",  
        url: "YOUR ADDRESS HERE",  
        data: {var1:$("input#[INPUT NAME]").val(),var2:$("input#[INPUT NAME]").val(), ....}  
        success: function() {
        // Do something on success
        // alert ( 'Form Sent' );
        });  
        }  
      }); 
      

      【讨论】:

      • 如何通过 AJAX 发送我的数据?我不太了解 AJAX
      【解决方案4】:

      变化:

      action="#"
      

      收件人:

      action="main.php"
      

      它将参数发送到main.php,您需要编写代码来处理它。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-10-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多