弹出基于php输入值的窗口

时间:2012-07-21 18:50:19

标签: php javascript

我有一个edit_ticket_check.php这样的页面:

<form name="frm" action="edit_ticket_asso.php" method="post" onSubmit="return validt(frm)">
  <table frame=box align=center bgcolor="9966FF">
    <b><h2>Enter Ticket Information</h2></b> 
  </table>
</form>

然后有一些像这样的盒子:

<tr><td><font color="BLACK">Ticket Status:</font></td>
<td>
<?php 
  echo "<select name=\"ticket_status\">";  
  echo "<option size =15 selected>Select</option>"; 
  if(mysql_num_rows($result4))  
  {  
    while($row = mysql_fetch_assoc($result4))  
    {  
      echo "<option>$row[ticket_status]</option>";  
    }  
  }  
  else { 
    echo "<option>No Status Present</option>";   
  }  
?> 
</td>  

输入值转到第二个edit_ticket.php页面,在该页面中输入MySQL数据库中的值。

if($_POST['submit']=="Insert")
{
  $ticket_no=$_POST['ticket_no'];
  if ( @$_SESSION[username] == 'admin')
  {
    $assigned_to=$_POST['emp_name'];
  }
  else
    $assigned_to = @$_SESSION[userid][0];

  $reassigned_to_team=$_POST['reassigned_to_team'];
  $ticket_status=$_POST['ticket_status'];
  $comment=$_POST['comment'];
  if($ticket_no!=NULL&&$assigned_to!=NULL&&$comment!=NULL)
  {
    $query1=mysql_query("select count(ticket_no) as total from ticket where ticket_no='$ticket_no';");

    $row = mysql_fetch_array($query1);
    if ($row["total"]>"0")
    {
      $query2="UPDATE ticket SET ticket.assigned_to='$assigned_to', ticket.reassigned_to_team='$reassigned_to_team', ticket.ticket_status='$ticket_status', ticket.comment='$comment' WHERE  ticket.ticket_no='$ticket_no'";

      $result1=mysql_query("$query2");
    }
  }
}

在此之后,我希望如果故障单状态=“待定”,则会出现一个新的弹出窗口并获取时间值,然后按新输入的时间更新故障单的时间值。

对于弹出窗口,我有以下代码:

<html>
<body>

<p>Click the button to add resolution time with pending ticket.</p>

<button onclick="myFunction()">Pending</button>

<p id="demo"></p>

<script type="text/javascript">
function myFunction()
{
  var x;

  var name=prompt("Please enter Resolution Time","2099-12-31 23:59:59");

  if (name!=null)
  {
    x="resolution_time " + name ;
    document.getElementById("demo").innerHTML=x;
  }
}
</script>

现在我无法连接这两个页面,而且我也无法将新弹出窗口中的值传递给旧窗口。

我该怎么做?

由于PHP是一种服务器端语言,所以它不能像JavaScript一样是客户端语言,你有更好的想法吗?

谢谢..

1 个答案:

答案 0 :(得分:0)

您的目标网页(您的表单处理器页面,edit_ticket.php应该在其完成时重定向的目标页面)应该接受网址中的参数。基于此,您可以在新页面中编写javascript来决定是否打开待处理窗口。

例如:在edit_ticket.php的末尾,

header("location: landing.php?pending=1");

然后处于待处理状态:

<?php 
    if (isset($_GET['pending']) && $_GET['pending'] ==1){
        ?><script type='text/javascript'>
            window.open('yourpopup.html');
        <?php
      }
?>