Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Zend框架中使用php和javascript的弹出窗口_Php_Javascript_Popup - Fatal编程技术网

Zend框架中使用php和javascript的弹出窗口

Zend框架中使用php和javascript的弹出窗口,php,javascript,popup,Php,Javascript,Popup,我在Zend框架中有一个项目,它在一个页面上有一个菜单,其中包含按类别排序的所有产品。我想制作一个带有产品名称和描述的弹出窗口。这应该在每次点击产品时显示。我在弹出窗口中使用以下代码: <script type="text/javascript"> function show_popup(id) { if (document.getElementById){ obj = document.getElementById(id); if (obj.style.displ

我在Zend框架中有一个项目,它在一个页面上有一个菜单,其中包含按类别排序的所有产品。我想制作一个带有产品名称和描述的弹出窗口。这应该在每次点击产品时显示。我在弹出窗口中使用以下代码:

<script type="text/javascript">
 function show_popup(id) {
if (document.getElementById){
    obj = document.getElementById(id);
    if (obj.style.display == "none") {
        obj.style.display = "";
    }
}
}
function hide_popup(id){
if (document.getElementById){
    obj = document.getElementById(id);
    if (obj.style.display == ""){
        obj.style.display = "none";
    }
 }
}
</script>

<div id="my_popup" style="display:none;border:1px dotted gray;padding:.3em;background-color:white;position:absolute;width:400px;height:400px;left:10px;top:300px">
                                                <div align="right">
                                                        <a href="javascript:hide_popup('my_popup')">Close</a>
                                                </div>
                                                        <h3>Product Name</h3>
                                                        <p>Product description</p>
                                        </div>

功能显示\u弹出窗口(id){
if(document.getElementById){
obj=document.getElementById(id);
如果(obj.style.display==“无”){
obj.style.display=“”;
}
}
}
函数隐藏弹出窗口(id){
if(document.getElementById){
obj=document.getElementById(id);
如果(obj.style.display==“”){
obj.style.display=“无”;
}
}
}
品名
产品说明

问题是它可以处理静态文本。我的产品取自DB,如下所示:

<?php foreach ($products as $product):?>
 <a href="javascript:show_popup('my_popup')"> <?php echo $product['front_name'];?></a>
<?php endforeach;?>

因此,我在每个标题上都有一个弹出窗口的链接,但我想打印在该弹出窗口中单击的产品的名称和说明,我不知道如何验证单击的是哪个产品。我想发送一些参数,但我不知道如何发送。如果你对我的问题有一些解决办法,请告诉我!多谢各位

I've tried to put my **<div id="my_popup>**  in foreach, but it doesn't work because my pop-up windows does not appear anymore.

我试着把我的**放在Jquery上,我遇到了同样的问题,我的解决方案是调用JS函数,为它提供产品的id,使其唯一,并用字母数字连接(因为JS不接受DIV中的数字):例如(在循环中):



然后将新id传递给JS函数
showPopup(“”)
;DIV的id必须是:
您可以将每个产品的标题和描述添加为
show_popup
函数的参数。然后用新值替换旧值并显示弹出窗口。我建议使用ajax获取描述。我不知道描述有多长,每个站点上显示了多少项,但我认为发送所有描述并不是很有效,尽管用户希望看到例如30个中的3个。。。所以一定要显示弹出窗口(prodid)并通过ajax以json格式获取详细信息。并尝试使用jquery!使用jquery,一切都变得简单!我可以向javascript函数发送一个参数,但如何在弹出窗口的内容中接收该参数?我是说我怎么能把它打印在我的电脑上?
<?php $id_for_div="unique_id_".$product['id'];
      $id_product=$product['id'];?>