点击按钮后,我想显示表格并打开新窗口

时间:2016-04-12 08:31:36

标签: php jquery

仅在显示第一个执行表后,再次执行outs_print.php文件时,在新选项卡中显示outs_print.php文件,同时显示在同一个选项卡中。

我想在点击按钮后在新标签页中显示表格(outs_print.php文件)。

<!doctype html>
<body>
  <form name="out_print" action="out_print.php" method="post">
  <table class="table_1">
  <tr><td><label>Date Range From</label></td>
  <td><input type="date" name="from" /></td>

  <td><label>To</label></td>
  <td><input type="date" name="to"/></td></tr>

  <tr><td><label>Name</label></td>
  <td><input type="text" name="name" /></td></tr></table>

  <input type="submit" name="submit" value="Search" onclick="myFunction();"  class="button3"/>
  <script>
  function myFunction()
  {
    document.out_print.action = "outs_print.php";
    document.out_print.submit();                
  }
  </script>
</form>
</body>
</html>

outs_print.php

<?php

    $connection = mysql_connect("localhost", "root", "");
    $db = mysql_select_db("prs", $connection);
    if(isset($_POST['submit'])){    
    $name = $_POST['name'];
    $from = $_POST['from'];
    $to = $_POST['to'];
    if($name !=''||$from !=''||$to !='')
    {
?>

<html>
<body>
    <table border="1" bordercolor="#d6d6d6" class="tabl">
    <thead bgcolor="#FAFAFA">
    <tr>
    <th>No</th>
    <th>Date</th>
    <th>Name</th>
    <th>Price</th>
    </tr>  
    </thead>

    <tbody>

    <?php
        $sql = "SELECT * FROM out WHERE (date between '$from' and '$to') AND (name = '$name')";
        $records=mysql_query($sql);
        while($out=mysql_fetch_assoc($records))
        {
             echo "<tr>";
             echo "<td>".$out['no']."</td>";
             echo "<td>".$out['date']."</td>";
             echo "<td>".$out['name']."</td>";
             echo "<td>".$out['price']."</td>";
             echo "</tr>";
        }
    ?>

          <script type="text/javascript">
            alert("Okay");
            var win = window.open("out_print.php", "out_print.php");
            win.focus();
          </script>

    <?php
       }
    }
    ?>

    </tbody>
    </table> 

</body>
</html>

3 个答案:

答案 0 :(得分:1)

只需将target =“_ blank”添加到表单元素:)

http://www.w3schools.com/tags/tag_form.asp

答案 1 :(得分:1)

像这样添加target="_blank"

<form name="out_print" action="out_print.php" method="post" target="_blank">
表单中的

目标属性指定在提交表单后显示收到的响应的位置。 target="_blank"new tab显示回复。

希望这有帮助。

答案 2 :(得分:1)

此处的其他答案都在正确的轨道上,但target="_blank"将为每个表单提交创建一个新的标签/窗口。

如果您希望在第一次提交表单时启动新的选项卡/窗口,以及表单的任何后续提交,以便在第一次提交时创建的选项卡/窗口中返回其结果,则为目标提供名字会这样做。

<form name="out_print" method="post" action="out_print.php" target="out_print_response">
....

http://www.w3schools.com/tags/att_form_target.asp