Javascript 使用Java脚本将值传递到模式弹出窗口

Javascript 使用Java脚本将值传递到模式弹出窗口,javascript,php,html,mysql,popup,Javascript,Php,Html,Mysql,Popup,我想在用户单击特定按钮时将按钮ID值传递到模式弹出窗口中。稍后,通过传递的ID,我可以查询DB值并在打开的模式弹出窗口中查看 这是按钮的代码部分。Id将从DB表中分配。它工作得很好 <td> <input type="submit" name="button" id="<?php echo $row["id"];?>" value="Details" onClick="popupwindow(this.id)"> </td> 我需要一个popup

我想在用户单击特定按钮时将按钮ID值传递到模式弹出窗口中。稍后,通过传递的ID,我可以查询DB值并在打开的模式弹出窗口中查看

这是按钮的代码部分。Id将从DB表中分配。它工作得很好

<td>
<input type="submit" name="button" id="<?php echo $row["id"];?>" value="Details" onClick="popupwindow(this.id)">
</td>

我需要一个popupwindow函数的代码示例,将我的按钮ID值传递到模式窗口。请帮我做这个。我对这个话题很陌生

不要使用
onClick()
,而是使用jQuery
单击
函数。以下是方法:

$("[input[name = 'button']").click(function(){
    $(this).attr('id'); // This will give the ID of the button clicked. 
});
<td><input type="button" class="modalBtn" name="button" id="<?php echo $row["id"];?>" value="Details"></td>
或者,我建议您向希望显示模态的按钮添加一个类。以下是方法:

$("[input[name = 'button']").click(function(){
    $(this).attr('id'); // This will give the ID of the button clicked. 
});
<td><input type="button" class="modalBtn" name="button" id="<?php echo $row["id"];?>" value="Details"></td>

希望它能回答您的问题。

使用window.location.hash替换hash

function popupwindow(id) {
    window.location.hash = '#openModal'
}

我认为您应该使用AJAX来查询数据库并从中检索数据,您的
popupwindow
的基本模板如下所示:

function popupwindow(id) {

    $("#openModal .content").load("yourscript.php?id=" + escape(id), function(){
        $("#openModal").show();
    })

}
以及您的HTML:

<div id="openModal" class="modalDialog">
    <div>
        <a href="#" title="Close" class="close">X</a>
        <h2>Modal Box</h2>
        <!--  From the retrieved values I can query and view data here.-->
        <div class="content"></div>
    </div>
</div>

模态盒

您可以使用以下脚本加载和卸载弹出框

    <script type="text/javascript">
  $(document).ready( function() {
     loadPopupBox();

    $("#popupBoxClose").click( function() {           
        unloadPopupBox();
    });




    function unloadPopupBox() {    // TO Unload the Popupbox
        $("#popup_box").fadeOut("slow");
        $("#mainWrapper").css({ // this is just for style       
            "opacity": "0.8" 
        });
    }   

    function loadPopupBox() {    // To Load the Popupbox
        $("#popup_box").fadeIn("slow");
        $("#mainWrapper").css({ // this is just for style
            "opacity": "0.2" 

        });        
    }       

 });  
</script>

$(文档).ready(函数(){
loadPopuBox();
$(“#popuboxclose”)。单击(函数(){
unloadPopupBox();
});
函数unloadPopupBox(){//以卸载PopuBox
$(“弹出框”)。淡出(“慢”);
$(“#mainWrapper”).css({//这只是为了风格
“不透明度”:“0.8”
});
}   
函数loadPopuBox(){//以加载PopuBox
$(“弹出框”).fadeIn(“慢”);
$(“#mainWrapper”).css({//这只是为了风格
“不透明度”:“0.2”
});        
}       
});  
除此之外,您不需要通过JS发送值,JS是客户端,您不能使用客户端使用服务器端语言

一个解决办法是你可以用

      window.location="#openModal?id=<?php echo json_encode($row['id']); ?>;"
window.location=“#openmodel?id=;”
并将表单的方法改为GET而不是post


完成此操作后,您可以编写一个php代码,用于从$\u GET中排除值,并使用php回显模式弹出窗口。

您所说的模式窗口是什么意思?html弹出窗口?我认为这将帮助您如何在弹出窗口中传递ID?将其存储在变量中,并将其作为参数传递给在模式中加载数据的函数。轻松点!
      window.location="#openModal?id=<?php echo json_encode($row['id']); ?>;"