php如何制作弹出窗口
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php如何制作弹出窗口相关的知识,希望对你有一定的参考价值。
javascript属于网络的脚本语言,用来给html网页增加动态功能。Javascript弹出窗口的方法:
1,弹出包含提示信息窗口 在script标签中 加入 alert("要现实的内容");
2,弹出新窗口,window对象的open方法可实现弹出窗口,具体代码如下
参数解释:
window.open 弹出新窗口的命令;
\'page.html\' 弹出窗口的文件名;
\'newwindow\' 弹出窗口的名字(不是文件名),非必须,可用空\'\'代替;
height=100 窗口高度;
width=400 窗口宽度;
top=0 窗口距离屏幕上方的象素值;
left=0 窗口距离屏幕左侧的象素值;
toolbar=no 是否显示工具栏,yes为显示;
menubar,scrollbars 表示菜单栏和滚动栏。
resizable=no 是否允许改变窗口大小,yes为允许;
location=no 是否显示地址栏,yes为允许;
status=no 是否显示状态栏内的信息(通常是文件已经打开),yes为允许;
1,弹出包含提示信息窗口 在script标签中 加入 alert("要现实的内容");
2,弹出新窗口,window对象的open方法可实现弹出窗口,具体代码如下
1
window.open ('page.html', 'newwindow', 'height=100, width=400, top=0, left=0, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=n o, status=no') //这句要写成一行
参数解释:
window.open 弹出新窗口的命令;
'page.html' 弹出窗口的文件名;
'newwindow' 弹出窗口的名字(不是文件名),非必须,可用空''代替;
height=100 窗口高度;
width=400 窗口宽度;
top=0 窗口距离屏幕上方的象素值;
left=0 窗口距离屏幕左侧的象素值;
toolbar=no 是否显示工具栏,yes为显示;
menubar,scrollbars 表示菜单栏和滚动栏。
resizable=no 是否允许改变窗口大小,yes为允许;
location=no 是否显示地址栏,yes为允许;
status=no 是否显示状态栏内的信息(通常是文件已经打开),yes为允许; 参考技术B php不会弹窗,弹窗需要在html文件中使用javascript代码弹窗。本回答被提问者和网友采纳 参考技术C
php中是可以插入HTML代码,准确说什么文件都能放入HTML代码,哪怕是PHP后缀文件.
但前提是:不能在<?php ?>包含内
//列子,这就是PHP中插入JS脚本的简单列子public function index()
$str = 'hello world';
?>//结束PHP代码插入JS脚本
<script>
alert(<?php echo $str; ?>);
</script>
<?php//又开始PHP代码
单击某行时如何制作弹出窗口
【中文标题】单击某行时如何制作弹出窗口【英文标题】:how to make a pop-up window when click on some row 【发布时间】:2021-11-11 13:16:11 【问题描述】:我的代码中有这些行:
output$ex1 <- DT::renderDataTable(
DT::datatable(df[df$country == "usa" ,]))
output$ex2 <- DT::renderDataTable(
DT::datatable(df[df$country == "france" ,]))
现在我想在单击某行时制作一个弹出窗口。 我发现这段代码看起来很有用:
observeEvent(input$mydatatable_rows_selected, showModal(modalDialog(title = "You have selected a row!")) )
但我不确定我需要在代码中的哪个位置写下这一行
【问题讨论】:
这能回答你的问题吗? Shiny datatable: popup data about selected row in a new window 不,我看到了这个答案,但它没有解决我的问题。当我输出 $ex1 和输出 $ex2 时我如何使用它? 在observeEvent中用ex1(或ex2)替换mydatatable所以observeEvent(input$mydatatable_row_selected ...
-> observeEvent(input$ex1_row_selected ...
和mycars[input$mydatatable_rows_selected,]
-> df[df$country == "usa" ,][input$ex1_rows_selected,]
好的,但是我把这条线放在哪里? output$ex1
【参考方案1】:
在 cmets 中建议您的解决方案适用于行选择,然后如果您禁用选择,它将无法工作。
这里是行点击的解决方案:
library(shiny)
library(DT)
ui <- fluidPage(
br(),
splitLayout(
DTOutput("dtable1"),
DTOutput("dtable2")
)
)
js <- function(id)
c(
"table.on('click', 'tr', function()",
sprintf("Shiny.setInputValue('%s', true, priority: 'event');", id),
");"
)
server <- function(input, output, session)
output[["dtable1"]] <- renderDT(
datatable(iris, callback = JS(js("t1")))
)
output[["dtable2"]] <- renderDT(
datatable(iris, callback = JS(js("t2")))
)
observeEvent(input[["t1"]],
showModal(
modalDialog(
"You clicked on a row of table 1"
)
)
)
observeEvent(input[["t2"]],
showModal(
modalDialog(
"You clicked on a row of table 2"
)
)
)
shinyApp(ui, server)
编辑
如果你想要点击行的索引:
library(shiny)
library(DT)
ui <- fluidPage(
br(),
splitLayout(
DTOutput("dtable1"),
DTOutput("dtable2")
)
)
js <- function(id)
c("console.log(table);",
"table.on('click', 'tr', function()",
" var index = this.rowIndex;",
sprintf("Shiny.setInputValue('%s', index, priority: 'event');", id),
");"
)
server <- function(input, output, session)
output[["dtable1"]] <- renderDT(
datatable(iris, callback = JS(js("t1")))
)
output[["dtable2"]] <- renderDT(
datatable(iris, callback = JS(js("t2")))
)
observeEvent(input[["t1"]],
showModal(
modalDialog(
sprintf("You clicked on row number %d of table 1", input[["t1"]])
)
)
)
observeEvent(input[["t2"]],
showModal(
modalDialog(
sprintf("You clicked on row number %d of table 2", input[["t2"]])
)
)
)
shinyApp(ui, server)
【讨论】:
但我没有两张桌子,我只有一张桌子,里面有几条吧以上是关于php如何制作弹出窗口的主要内容,如果未能解决你的问题,请参考以下文章
如何在等待程序启动混乱/GTK +时制作加载/介绍动画弹出窗口
如何制作像 Windows 7 通知弹出窗口这样的窗口,(WS_THICKFRAME 但不可调整)