如何将数据添加到Div弹出窗口中

时间:2016-07-20 12:51:12

标签: javascript php html

我的页面上有一个按钮,显示有关特定项目的一些信息。我曾经将用户重定向到显示这些信息的页面,所以我只使用了Action= site.com/main?var=<?=$Var?...

但是,我已被要求将此信息显示在弹出窗口中。所以我在Div弹出窗口编码,但我真的不知道如何将数据发送到它上面。以下是此Div中的代码:

<?php
    if(!empty($_POST['proj_id'])||!empty($_POST['task_uid']))
            die("Invalid proj_id or task_uid.");

        $query = "
        SELECT  pm.id,
                pm.proj_id,
                pm.task_uid,
                pp.task_id,
                pp.pipeline_name,
                pm.proj_pipeline_order,
                pcrs.gestor_projeto,
                pcrs.prioridade,
                pcrs.tecnologia,
                pcrs.resp_programa,
                eng.ativo

        FROM    projetos_main pm

        INNER JOIN projetos_pipeline pp
                  ON pm.task_uid = pp.task_uid

        RIGHT JOIN pcrs
                  ON pp.pcr = pcrs.num_doc

        LEFT JOIN engcom.top_issues_main eng
                  ON pcrs.num_doc = eng.pcr

                 WHERE pm.pcr = '".$_GET['pcr']."'

                 ORDER BY pm.task_uid ASC


            ";
        $result = mysql_query($query) or die(mysql_error());

        $row = mysql_fetch_array($result);


    ?>
        <tr>
    <td>
<label style='top: 5px; font-weight: bold; text-align: center'>
    PCR Information:
</label>
    </td>
    </tr>
    <table style='margin:0 auto; margin-top: 45px;'>


    <tr>
        <td><b>Pipeline:</b></td>
        <td><?=$row['pipeline_name']?></td>
    </tr>

    <tr>
        <td><b>Project Position:</b></td>
        <td><?=$row['task_id']?></td>
    </tr>

    <tr>
        <td><b>Project Manager:</b></td>
        <td><?=$row ['gestor_projeto']?></td>
    </tr>

    <tr>    
        <td><b>Portfolio Manager:</b></td>
        <td><?=$row['resp_programa']?></td>
    </tr>

    <tr>
        <td><b>Top Issue:</b></td>
        <td><?=$row ['ativo']?></td>
    </tr>

    <tr>    
        <td><b>Technology:</b></td>
        <td><?=$row ['tecnologia']?></td>
    </tr>

</table>

正如你所看到的,我尝试在Div内部做一个Select。它最终没有奏效。此外,可能需要注意的是,此弹出窗口位于与主站点不同的文件中。这里的选择来自About.php

我有一个用于显示或隐藏弹出窗口的js:

function exibirAbout(){
    document.getElementById('popupAbout').style.display = 'block';
}

function ocultarAbout(){
    document.getElementById('popupAbout').style.display = 'none';
}

非常基本的代码,真的。这是调用该功能的按钮。它曾经位于将数据发送到新页面的表单内,但现在这个表单没有&#34; Action&#34;了。它看起来像这样:

<form method="post" target="popupAbout">
    <input type="submit" class="submit" onclick="exibirAbout();" value="About"/>
                                    </form>

我不知所措,老实说,我不知道该怎么做,我无法在网站上找到它。请记住,我在工作,不能使用Jquery,因为我们不在这里使用它。有什么想法吗?

放弃Div并使用Iframe会更好吗?这会解决任何问题吗?

1 个答案:

答案 0 :(得分:1)

PHP代码在HTML / Javascript之前执行,因此如果您在div&#34;内执行查询&#34;则无关紧要。事实上,你的程序应该按照&#34;输入&#34;首先,然后&#34;处理&#34;最后&#34;输出&#34;。混合输出和处理时,可能会遇到问题(例如,如果要发送重定向标题)。

然后,您可以在生成网站时将所有数据写入(隐藏)div,并在特定事件上显示。但似乎您需要POST请求的信息...然后您的解决方案是AJAX(JS向PHP脚本发送请求而不重新加载整个页面)。在这种情况下,您可以动态添加结果。 请注意:AJAX是Javascript技术并不特定于jquery。您可能不想使用jquery,但您必须使用javascript。我推荐一个JS库,因为它让生活更轻松。

最后一个网站注意事项:不要使用&#34; onclick&#34;对于按钮,但是&#34; onsubmit&#34;对于表单 - 无需单击提交按钮即可提交表单!