Javascript 如何将数据添加到Div弹出窗口中
我的页面上有一个按钮,显示一些关于特定项目的信息。我曾经将用户重定向到一个显示这些信息的页面,所以我只使用Javascript 如何将数据添加到Div弹出窗口中,javascript,php,html,Javascript,Php,Html,我的页面上有一个按钮,显示一些关于特定项目的信息。我曾经将用户重定向到一个显示这些信息的页面,所以我只使用Action=site.com/main?var=PHP代码在HTML/Javascript之前执行,所以如果在“div内部”执行查询就不重要了。事实上,你的程序应该先进行“输入”,然后进行“处理”,最后进行“输出”。在混合输出和处理时,可能会遇到问题(例如,如果要发送重定向标头) 然后,您可以在生成站点时将所有数据写入(隐藏)div,并在特定事件中显示它。但你似乎需要在发帖请求中提供信息。
Action=site.com/main?var=PHP代码在HTML/Javascript之前执行,所以如果在“div内部”执行查询就不重要了。事实上,你的程序应该先进行“输入”,然后进行“处理”,最后进行“输出”。在混合输出和处理时,可能会遇到问题(例如,如果要发送重定向标头)
然后,您可以在生成站点时将所有数据写入(隐藏)div,并在特定事件中显示它。但你似乎需要在发帖请求中提供信息。。。然后,您的解决方案是AJAX(JS向PHP脚本发送请求,而无需重新加载整个页面)。在这种情况下,可以动态添加结果。
请注意:AJAX是Javascript技术,并不特定于jquery。您可能不想使用jquery,但必须使用javascript。不过我还是推荐一个JS库,因为它让生活更轻松
最后一点注意:不要使用“onclick”作为按钮,而使用“onsubmit”作为表单-表单可以在不单击提交按钮的情况下提交 您应该阅读有关AJAX
和XHRequest
的内容,并使用JS
来实现这一点。php方面非常危险,您直接在查询中注入GET变量而不转义值。这可能会导致一个非常简单的SQL注入,我宁愿先关注这一点,然后关注mysql_*原型被正式弃用的事实,因此您应该迁移到mysqli_*或PDO。
<?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>
function exibirAbout(){
document.getElementById('popupAbout').style.display = 'block';
}
function ocultarAbout(){
document.getElementById('popupAbout').style.display = 'none';
}
<form method="post" target="popupAbout">
<input type="submit" class="submit" onclick="exibirAbout();" value="About"/>
</form>