将数据从新窗口发送到php中的上一个窗口

时间:2011-07-16 13:22:03

标签: php javascript post new-window

我在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文件。

我该怎么做?

4 个答案:

答案 0 :(得分: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)

答案 1 :(得分:0)

我建议您使用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' );
  });  
  }  
}); 

答案 2 :(得分:-1)

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

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

答案 3 :(得分:-1)

变化:

action="#"

要:

action="main.php"

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